个人随笔
目录
Maven项目打包可执行jar方式
2020-09-11 23:01:09

相信每次新建maven项目要打包成可执行jar都很让人崩溃,百度搜索都是用啥maven-assembly-pluginmaven-jar-plugin什么的啊,然后自己搞了很久,还是不行,特别是自己加了很多别的依赖包,有时候还会导致依赖包冲突。

下面我这里彻底的解决下吧,大家直接拷贝进去修改下就可以完美的解决。

项目为SpringBoot项目

这个是最简单方便的,因为springboot封装好了插件,直接在pom.xml加入如下内容即可,也不需要指定主类。

  1. <build>
  2. <finalName>suibibk</finalName>
  3. <plugins>
  4. <!-- 可以将项目打包成可执行jar包 -->
  5. <plugin>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-maven-plugin</artifactId>
  8. </plugin>
  9. </plugins>
  10. </build>

<finalName>suibibk</finalName>是指定生成jar包的名称。

非springboot项目

如果是普通的项目,spring或者其他小程序项目,想要打包成一个可执行jar,只要在pom.xml加入如下内容即可。

  1. <build>
  2. <finalName>wordcount</finalName>
  3. <plugins>
  4. <plugin>
  5. <artifactId>maven-compiler-plugin</artifactId>
  6. <configuration>
  7. <source>1.6</source>
  8. <target>1.6</target>
  9. </configuration>
  10. </plugin>
  11. <plugin>
  12. <groupId>org.apache.maven.plugins</groupId>
  13. <artifactId>maven-shade-plugin</artifactId>
  14. <version>1.4</version>
  15. <configuration>
  16. <createDependencyReducedPom>false</createDependencyReducedPom>
  17. </configuration>
  18. <executions>
  19. <execution>
  20. <!-- 执行package的phase -->
  21. <phase>package</phase>
  22. <!-- 为这个phase绑定goal -->
  23. <goals>
  24. <goal>shade</goal>
  25. </goals>
  26. <configuration>
  27. <!-- 过滤掉以下文件,不打包 :解决包重复引用导致的打包错误-->
  28. <filters>
  29. <filter>
  30. <artifact>*:*</artifact>
  31. <excludes>
  32. <exclude>META-INF/*.SF</exclude>
  33. <exclude>META-INF/*.DSA</exclude>
  34. <exclude>META-INF/*.RSA</exclude>
  35. </excludes>
  36. </filter>
  37. </filters>
  38. <transformers>
  39. <transformer
  40. implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
  41. <resource>META-INF/spring.handlers</resource>
  42. </transformer>
  43. <!-- 打成可执行的jar包 的主方法入口-->
  44. <transformer
  45. implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
  46. <mainClass>com.suibibk.App</mainClass>
  47. </transformer>
  48. <transformer
  49. implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
  50. <resource>META-INF/spring.schemas</resource>
  51. </transformer>
  52. </transformers>
  53. </configuration>
  54. </execution>
  55. </executions>
  56. </plugin>
  57. </plugins>
  58. </build>

大家只需要拷贝进去,指定filename和主类路径即可,不需要考虑其他的,或者进行任何删除修改。

maven install即可在target看到jar文件。

 676

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2