首页 > 编程语言 > 详细

项目打jar包执行

时间:2021-05-20 00:27:09      阅读:19      评论:0      收藏:0      [点我收藏+]

方案一:

 项目右键  ==========  run as   ============   maven install

技术分享图片

 

会在项目target目录下生成一个jar包

 

 技术分享图片

 

 

 jar 包的内部结构

技术分享图片

 

这个jar 包执行总是报错,一开始提示没有设置main class,手动修改META-INF 下的 MANIFEST.MF ,加入 

Main-Class: com.zzg.mybatis.generator.MainUI
Class-Path: .

再执行还是报错,提示

Caused by: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

接下来看方案二,方案二虽然也不能执行,但是找到了出错的问题,修改后能够正常执行

 方案二:

项目右键   =================  export  =================    runnable jar file   

技术分享图片

 

 

 技术分享图片

 

选择 jar 启动时执行哪个类中的 main 方法  、导出的目录  、依赖的 jar 包打包的方式

第一个Extract required libraries into generated JAR意思是将依赖的jar解压出来变成class丢进你生成的jar里面;
第二个Package required libraries into generated JAR意思是将依赖的jar不解压,直接放进你生成的jar里面;
第三个Copy required libraries into a sub-folder next to the generated JAR意思是将依赖的jar放到你生成jar的同级目录下的”xxx_lib”文件夹里面。

这里我选的第一个(第一个和第二个都亲测可用,第三个应该也是可以的,只是没有去测试)

 

 技术分享图片

 

 

 第一种 jar 包的内部结构

技术分享图片

 

 注意看这里的 resources 目录,它里面的东西并没有直接放在根目录,导致类似下面的代码获取到的 url 都是 null

URL url = Thread.currentThread().getContextClassLoader().getResource("fxml/MainUI.fxml");

 只需要把 resources 里的文件都拷贝到根目录即可

技术分享图片

 

 技术分享图片

 到此 jar 包已经可以正常执行

技术分享图片

 使用过程中提示

技术分享图片

 

 于是把lib包又给拷出去了

技术分享图片

 

项目打jar包执行

原文:https://www.cnblogs.com/LcxSummer/p/14786016.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!