java目录打包_java项目打包部署

这篇博客主要介绍了Java新手在打包项目时遇到的NoClassDefFoundError问题。作者指出,错误发生的原因是MANIFEST.MF文件配置不当,导致运行时无法找到第三方jar包。解决方案包括正确配置MANIFEST.MF的Class-Path属性,并在打包时不包含第三方jar。打包步骤包括创建MANIFEST.MF文件,设置Class-Path,然后通过Eclipse导出jar文件。运行jar包时,需确保系统能根据Class-Path找到关联的第三方库。

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

网上打包的教程很多, 但是自己动手总归出现各种各样的问题,自己总结下:

由于刚刚接触JAVA,做了一个简单的java project 项目, 但是包含第三方的jar包, 结果打包的时候就出现问题了。

主要原因是一直报“Exception in thread "main" java.lang.NoClassDefFoundError“的错误, 我一开始以为打包的jar包中应该包含第三方的JAR包,结果死活报错,原来并不是这样,运行jar包时,会根据 MANIFEST.MF中的Class-Path 的路径去读取。

好了,说下打包流程

1. 先看下文档目录和最后打包的效果

c90b601eabf0cce3080f158f9a516108.png

267abeeab87320f56cb2e2af1d5c017a.png

可以看到,打包完后,第三方jar并不在程序包内。

2. 配置MANIFEST.MF文件,程序打包时会用到。

2.1 在项目下新健一个文件夹

2.1 在该文件夹下新健一个MANIFEST.MF文件, 配置对应的属性

f76b08e20a5830ebb7787e3c4184a5dc.png

3. 打包程序, 不包含第三方JAR包

3.1 点击 file > export

3.2 选择 jar file, 点击next

3.3 选择 项目打包文件,录入一个生产jar的路径(只需要项目文件, 不包含第三方jar以及MANIFEST.MF; 同时也不包含.classpath 和.project)

648f09d7a0b8d575abfdd50c5b7a5dd0.png

3.4  点击选择已经存在的装配单

0fccee15c06d701af3288e38d73abda2.png

3.5 一直到结束

4. 通过java -jar xxx.jar 来运行,  但是这里需要注意要关联第三方Jar包, 怎么关联, 会程序会通过 MANIFEST.MF中的Class-Path去寻找。所以最终要运行jar报的结构如下。

49f76d881088a7d021cd63ff4eba7e84.png

作为刚学JAVA的人会有点小折腾。

参考资料

http://www.open-open.com/lib/view/open1397303218919.html

http://www.cnblogs.com/lanxuezaipiao/p/3291641.html

http://bbs.youkuaiyun.com/topics/350163956

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值