java 中使用maven shade plugin 打可执行Jar包

发布时间 - 2026-01-11 01:06:58    点击率:

java 中使用maven shade plugin 打可执行Jar包

eclipse里有一个功能叫做“打可执行(runnable) jar包”, 用这个功能可以把一个工程自身和所有依赖包打成一个fat jar,并且指定Main方法,这样直接使用java jar xxx.jar就可以运行代码了。

但是在不使用eclipse的时候呢?其实,借助maven,我们很容易实现同样功能。maven提供了一个shade plugin,可以用来打fat jar, 同时也提供了指定main方法的功能。

<project>
 ...
 <build>
  <plugins>
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.0.0</version>
    <executions>
     <execution>
      <phase>package</phase>
      <goals>
       <goal>shade</goal>
      </goals>
      <configuration>
       <transformers>
        <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
         <mainClass>org.sonatype.haven.HavenCli</mainClass>
        </transformer>
       </transformers>
      </configuration>
     </execution>
    </executions>
   </plugin>
  </plugins>
 </build>
 ...
</project>

然后在用maven打包的时候就可以打出直接可运行的包了。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# maven  # shade  # plugin  # 打可执行Jar包  # java  # jar包详解  # 使用maven shade插件解决项目版本冲突详解  # Java中Maven Shade插件的具体使用  # 可执行  # 就可以  # 很容易  # 希望能  # 谢谢大家  # 可以用来  # 包了  # 有一个  # 但是在  # project  # xxx  # pre  # class  # lt  # brush  # main  # strong 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么自定义错误页面_Laravel修改404和500页面模板  javascript基于原型链的继承及call和apply函数用法分析  浅析上传头像示例及其注意事项  javascript如何操作浏览器历史记录_怎样实现无刷新导航  C++时间戳转换成日期时间的步骤和示例代码  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  手机网站制作与建设方案,手机网站如何建设?  如何在腾讯云服务器快速搭建个人网站?  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  Android Socket接口实现即时通讯实例代码  Swift中switch语句区间和元组模式匹配  如何在 React 中条件性地遍历数组并渲染元素  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  如何在服务器上配置二级域名建站?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  如何快速上传自定义模板至建站之星?  Laravel怎么在Controller之外的地方验证数据  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  如何做网站制作流程,*游戏网站怎么搭建?  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  Swift开发中switch语句值绑定模式  Laravel如何自定义错误页面(404, 500)?(代码示例)  Thinkphp 中 distinct 的用法解析  详解jQuery停止动画——stop()方法的使用  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  怎么用AI帮你为初创公司进行市场定位分析?  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  Python文件异常处理策略_健壮性说明【指导】  打造顶配客厅影院,这份100寸电视推荐名单请查收  JavaScript如何实现类型判断_typeof和instanceof有什么区别  长沙做网站要多少钱,长沙国安网络怎么样?  EditPlus中的正则表达式实战(5)  焦点电影公司作品,电影焦点结局是什么?  如何用腾讯建站主机快速创建免费网站?  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  phpredis提高消息队列的实时性方法(推荐)  如何在云指建站中生成FTP站点?  如何选择可靠的免备案建站服务器?  北京专业网站制作设计师招聘,北京白云观官方网站?  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  如何在Tomcat中配置并部署网站项目?  简历没回改:利用AI润色让你的文字更专业  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信