JAVA 引入第三方包,程序启动时找不到包,打包找不到包

因项目需要采集实时数据,需要用到别人提供的若干个jar包,调用人家封装的函数,记录下这一过程碰到的问题。

最终采用的方式是加入maven管理了。

踩到的坑:程序起不来,打包打不了。

问题:

1.怎么引入包到自己的程序,程序启动找不到包怎么搞

2.该怎么打包使我们的主文件能包含这些不在maven管理的第三方jar包

第一步,准备好你要导入的jar包,进入idea中的 File->Project Structure ->Modules页面,选择你需要导入的模块,然后选择Dependencies页签,点击左上角的 【+】加号,把需要的jar全都加进来,注意生命周期设置为compile

然后点击 apply-> ok  在刷新下maven。

查看是否导入成功,看看在Project页签下的External Libraries 下有没有我们刚刚导入的包

进行到这一步,正常来说应该能使用这些jar包里面的接口。

但是有时候明明已经导入成功了,启动程序还是提示程序包找不到

Caused by: java.lang.ClassNotFoundException.xxxxx

尝试下清清缓存,删删idea的索引

还不行的话。那再进Project Structure 下的Libraries页签,看看这里有没有刚刚手动引入的包,没有的话左上角【+】加号,添加。

到这一步应该是可以了。如果还不行。。。

只能用最后一招了,因为最后我们需要打包部署到服务器上运行,所以maven给我们打包的时候也需要把这些包加上。所以直接把这些包加入maven把,让maven帮我们处理,

而我们要做的就是一个包执行一次这个命令,替换activation.jar 为需要的包,设置DgroupId 和DartifactId 的值,最好把这些包全部放在一个文件夹,我就是放在com.extend下,DartifactId就是包的名字, 版本的话直接给一个1.0.0

mvn install:install-file -Dfile=E:\第三方jar包/activation.jar -DgroupId=com.extend -DartifactId=activation -Dversion=1.0.0 -Dpackaging=jar

这个命令直接进入E:\第三方jar包这个文件夹,然后目录处敲入cmd,然后在命令窗口执行。

执行完这个后,需要在最外层的pom文件,把这个依赖加入到maven,然后在相应的模块pom文件使用它

一个外部jar包这样操作一次,最终,程序肯定能运行,打包肯定能包含这些第三方包。

不然就会出现,好不容易程序能起来了,但是打包打不进去的局面,关于打包方式,查网上的说可以使用maven带的插件,然后指定第三方包的路径,就可以,我反正试了,没成功。要是包就几个的话,直接命令执行加入maven管理,最稳妥。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值