打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
maven打包的时候将依赖的jar包也打进去

最近在改造底层一个utils项目的时候,再将lib工程转maven项目后,打包丢了相关依赖;

之前lib工程的时候是需要借助第三方fatjar的,现在转maven后相关依赖全部丢失;

基于当前工程已经被很多项目引用,这里谋求一个新的出路,希望用maven插件也能将相关依赖打包进去!

现在有两种办法:

首先需要一个启动类,类在启动的时候把相关的依赖都初始化进去


方法一:使用插件maven-shade-plugin

  1. <plugin>
  2. <groupId>org.apache.maven.plugins</groupId>
  3. <artifactId>maven-shade-plugin</artifactId>
  4. <version>2.3</version>
  5. <executions>
  6. <execution>
  7. <phase>package</phase>
  8. <goals>
  9. <goal>shade</goal>
  10. </goals>
  11. <configuration>
  12. <transformers>
  13. <transformer
  14. implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
  15. <mainClass>util.Microseer</mainClass>
  16. </transformer>
  17. </transformers>
  18. </configuration>
  19. </execution>
  20. </executions>
  21. </plugin>

这样打出来的包ToolHelper-0.0.1-SNAPSHOT.jar和original-ToolHelper-0.0.1-SNAPSHOT.jar

original-是原始包就是不含第三方jar的,另一个是含第三方jar的

方法二:使用插件maven-assembly-plugin

  1. <!-- Maven Assembly Plugin -->
  2. <plugin>
  3. <groupId>org.apache.maven.plugins</groupId>
  4. <artifactId>maven-assembly-plugin</artifactId>
  5. <version>2.4.1</version>
  6. <configuration>
  7. <!-- get all project dependencies -->
  8. <descriptorRefs>
  9. <descriptorRef>jar-with-dependencies</descriptorRef>
  10. </descriptorRefs>
  11. <!-- MainClass in mainfest make a executable jar -->
  12. <archive>
  13. <manifest>
  14. <mainClass>util.Microseer</mainClass>
  15. </manifest>
  16. </archive>
  17. </configuration>
  18. <executions>
  19. <execution>
  20. <id>make-assembly</id>
  21. <!-- bind to the packaging phase -->
  22. <phase>package</phase>
  23. <goals>
  24. <goal>single</goal>
  25. </goals>
  26. </execution>
  27. </executions>
  28. </plugin>

这样打出来的包:ToolHelper-0.0.1-SNAPSHOT-jar-with-dependencies.jar和ToolHelper-0.0.1-SNAPSHOT.jar

jar-with-dependencies是包含第三方的jar,另一个是不含的!

最终效果:


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
maven in action(阅读记录)
浅谈java 中构建可执行 jar 包的几种方式(引用)
自动化管理项目,Maven仓库配置、安装和使用
Java Agent 简介
Maven:Maven创建和使用jar包
使用maven插件对java工程进行打包
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服