maven最主要的命令如下:
- mvn clean compile:告诉Maven编译项目主代码
- mvn clean test:执行src/test/main下面的test方法,在执行测试之前,会自动执行项目主资源处理、主代码编译、测试资源处理、测试代码编译等工作
- mvn clean package:打包,使用默认打包类型jar,在打包前会执行编译、测试等操作。生产的jar文件位于target下面
- mvn clean install:将项目输入的jar安装到了Maven本地仓库中。
执行顺序
执行test之前会先执行compile,执行package之前会先执行test,执行install之前会执行package。
生成可运行的jar
默认打包生成的jar是不能够直接运行的,因为带有main方法的类信息不会添加到manifest中(打开jar文件中的META-INF/MANIFEST.MF文件,将无法看到Main-Class一行)。为了生成可执行的jar文件,需要借助maven-shade-plugin插件。
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<groupId>org.apache.maven.plugins</groupId>
<version>1.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
在这里可以指定mainClass。然后在target目录下会生成两个jar,一个是代码Main-Class信息的可运行的jar,另一个是原始jar。然后在控制台直接java -jar xxx.jar即可看到输出。