Maven

Maven的基本使用

  • 一直想要学习J2EE的知识,但是不知道从何入门,直到在spring官网上发现了良心的教程,指引着学习的方向,力挺:https://spring.io/guides

  • 本文也是自己在阅读教程的基础上加以实践探索所作

 

了解我们要干啥,需要准备什么,如何动手

  • 我们要用maven构建一个提供时间的java程序

  • 确保使用JDK8及更高版本

  • 原文在后面才谈到Maven的下载,我们拿上来,通过访问官网maven.apache.org 来下载,并需要配置好环境变量,如果命令行运行mvn -v成功的话就好了,具体操作步骤这里就不写了。为了不让开发人员纠结maven自身的东西,诞生了Spring Initializr,它会为你创建好项目结构,且带有一个maven包装器,也就是一个mvnw脚本文件(实际情况下一个cmd脚本一个sh脚本,以适应不同操作系统),保证为你使用正确版本的maven,甚至你可以不用安装maven

 

创建文件目录结构

首先选择一个文件夹作为整个项目的根目录,然后命令行输入

mkdir -p src/main/java/hello

在hello文件夹里面,你可以放各种java程序代码,我们写两个

package hello;

public class HelloWorld {
 public static void main(String[] args) {
   Greeter greeter = new Greeter();
   System.out.println(greeter.sayHello());
}
}
package hello;

public class Greeter {
 public String sayHello() {
   return "Hello world!";
}
}

pom.xml

用这个文件来定义你的maven项目,它给出了项目的名称,版本,以及依赖的外部库。文件放在在根目录,也就是和src文件夹同级。把下述代码放进去,这是最简单不过的pom.xml文件了(科普一下,POM=project object model。没有POM的话,Maven是毫无用处的——POM是Maven的核心。是POM实现的并驱动了这种以模型来描述的构建方式。)

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <groupId>org.springframework</groupId>
   <artifactId>gs-maven</artifactId>
   <packaging>jar</packaging>
   <version>0.1.0</version>

   <properties>
       <maven.compiler.source>1.8</maven.compiler.source>
       <maven.compiler.target>1.8</maven.compiler.target>
   </properties>

   <build>
       <plugins>
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-shade-plugin</artifactId>
               <version>2.1</version>
               <executions>
                   <execution>
                       <phase>package</phase>
                       <goals>
                           <goal>shade</goal>
                       </goals>
                       <configuration>
                           <transformers>
                               <transformer
                                   implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                   <mainClass>hello.HelloWorld</mainClass>
                               </transformer>
                           </transformers>
                       </configuration>
                   </execution>
               </executions>
           </plugin>
       </plugins>
   </build>
</project>
  • <modelVersion> POM模型版本(始终为4.0.0)

  • <groupId> 项目所属的组或组织,通常表示为域名

  • <artifactId>项目库工件的名称(例如,其JAR或WAR文件的名称,大概理解为项目组织可能有多个工程,以此区分)

  • <Version>正在生成的项目的版本。

  • <packaging>-如何打包项目。对于jar文件打包,默认为“jar”。使用“war”进行war文件打包。

到此为止,你已经完成了一个最小的,可用的maven项目了。

打包项目

构建生命周期

  • 你可以使用Maven执行几个构建生命周期目标,包括编译项目代码、创建库包(例如JAR文件)和在本地Maven依赖关系存储库中安装库的目标。

maven命令介绍

mvn compile

启动maven,执行编译目标,在target目录中生成.class文件

 

mvn package

当然你一般不会想看到一大堆的.class文件,这个命令会在target目录中生成一个jar包,名字取决于<artifactId><version>标签中的内容。如果你把<packaging>标签中的内容改为war,那么将生成对应的war包。通过java -jar *.jar命令就能运行他。

 

mvn install

maven会把一个本地文件夹作为依赖仓库,以快速获得项目依赖。此命令会把你的项目打包到本地依赖仓库中,其他项目就可以将它作为依赖。

 

Test

JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。

在pom.xml中添加junit依赖:

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>

在src/test/对应文件目录下创建测试类,类名需要满足*Test格式,并使用@Test注解需要测试的方法,运行一下命令即可完成测试

mvn test

 

posted @ 2020-04-01 19:23  讲成大家听不懂的样子  阅读(403)  评论(0编辑  收藏  举报