工作中有时候需要打一个普通的java包进行测试,像一些socket或者线程测试等等,急需打包测试经常难倒小伙伴们。这里分享一下如何进行普通的java项目打包。
这里采用spring-boot-maven-plugin插件来进行打包,spring-boot-maven-plugin打包的优缺点如下:
- 优点:简单快捷,使用其他打包插件要么是没法加载第三方类,要么是少文件等等,配置比较复杂。
- 缺点:打包入了一些没有必要的springboot包。
引入spring-boot-maven-plugin插件
mainClass属性中定义主类,要不然会报清单中没有主类。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>devtao.netty.NettyServer</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
打包执行
选择执行生命周期中的package,而非插件springboot里的repackage。
若执行springboot插件中的repackage则会报错:Source file must not be null。
正确的打包方法是:
直接使用maven的package命令,即可完成打包,若有新的内容添加,可以使用spring-boot-maven-plugin的repackage命令。
打包成功输出:
运行
java -jar xxx.jar