jar包读取资源、引用外部JAR包后打包、制作可执行程序

本文介绍了如何解决Java项目打包成JAR文件时遇到的问题,包括资源文件的正确加载方式。此外,还提供了使用FatJar插件将多个依赖的JAR包整合为单一JAR文件的方法,以及如何利用exe4j和JSmooth将JAR文件转换为Windows下的可执行文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 将项目打包成JAR包,但是读取资源的时候出错的解决方法:

获取class类的根目录的路径:

String path =Thread.currentThread().getContextClassLoader().getResource("").getPath();

这种情况仅仅适合于资源文件夹images位于src的包中。

如果src包和images包同时位于项目名称下的文件夹,也就是说src和images包是同级的,则:

java.net.URL imUrl = getClass().getResource("/images/background.png");
ImageIcon im = new ImageIcon(imgUrl);

这样 获取的文件资源打成可执行的JAR包,可以正常执行,但是直接在代码中执行,则会出现错误。

2.使用FatJar将项目引用的多个JAR包打包:

2.1 先从网上下载些插件,解压后是一个plugins的文件夹,里面只有一个文件夹,“net.sf.fjep.fatjar_0.0.24”将它copy到Eclipser plugins文件夹下,此插件就安装成功了,重启Eclipse在项目上右击就会看到多出一个“Build Fat Jar”在前面有个绿色的“+”号,这时你就可以用此插件打包你的项目了。

2.2 进去后第一个界面Jar-Name里增入要生成的jar文件名,“Test_fat.jar”。

2.3 在Main-Class后点Browse像Export一样它也会列出你项目中的主类,选择后其它默认即可,Next后会列出你要打包的所有内容,这个插件的优势就是可以将你项目中的外部jar也打进来,有三个先项,其中Export ANT是生成build.xml脚本文件,方便用户以后修改脚本,其它两个按钮没用。在这里什么都不点,直接点Finish就可以生成jar文件。

3.使用exe4j打包成windows下的可执行程序:

1、打开exe4j,可以输入license,license:L-g782dn2d-1f1yqxx1rv1sqd。

2、单击NEXT键,选择”JAR in EXE”mod按钮,单击NEXT。

3、填写短名和文件输出的路径然后点击NEXT。

4、在这里你可以选择你要生成的可执行文件的类型,以及生成的可执行文件名称、可执行文件的图标等,我们在这里就选择GUI application,名字就根据自己的需要取一个,图标你可以自己在你的图标库里选一个你喜欢的,然后再NEXT。

5、在这里填写Main class的名字,单击绿色+选择所需的.jar文件,如果没有特殊要求我们就可以再继续了。

6、接下来是选择jre版本,填写好jre的最大最小版本然后再继续。

7、下面设一下你的文件执行的片头,增加其美观效果,选择自己喜欢的图片,写自己想写的文字,并可以根据需要调整文字的位置,再继续。

8、下面是一个选择语言版本的界面选好后再继续。

9、下面是一个短暂的等待,然后就大功告成了,一个java写成的可执行文件就这样生成了。

10、双击一下看看效果,迎面而来的是自己设置的开头效果,感觉怎么样?

4.使用JSmooth将jar打包成exe文件:

安装后运行JSmoothGen,界面如下点击查看原始尺寸

使用介绍: 

1.Skeleton Chooser下拉框中选择Windowed Wrapper
2.Skeleton Properties : 在launch java app in the exe process 选项打勾 
3. 点击Executable, 这一步是设置生成的exe文件的属性,包括名字,图标,路径
4. 设置完成后,继续下一选项,Application

点击查看原始尺寸

5.Main class : 主运行类,有main()方法的类
6.Embedded jar : 就是选择你要制作成EXE文件的jar
7.其他的选项如果不需要可不必设置,最后单击project下的compile 会生成一个文件,再单击run就可以在你刚刚设定好的路径下生成你要的exe文件了。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值