关于eclipse、maven打jar包,运行找不到依赖包的问题


两种打包方法:
1.通过eclipse的export导出test.jar包,
重写MANIFEST.MF内容如下:
Manifest-Version: 1.0
Main-Class: hello.HelloWorld
Class-Path: lib/joda-time-2.2.jar
test.jar只用到上面这个依赖包,按照网上说的方法,我把lib/joda-time-2.2.jar放到test.jar同级目录下。
可是运行java -jar test.jar还是找不到joda-time-2.2.jar用到的方法
2.maven打包步骤差不多,结果一样

求各位大神指点。。。。


9 个解决方案

#1


首先我说说用maven打包使用的方法:
程序run:clean install在target打包成jar包,
输入一下类似的命令:java -cp my-app-1.0-SNAPSHOT.jar com.mycompany.app.App,必须要cd进入该jar包的
文件夹下面,而你需要的依赖包已经在你本地的maven仓库中;
ecplise export成jar包,只需要把依赖包也压缩进去就行。命令跟你那个一样java -jar xxx.jar

#2


引用 1 楼 morelzh 的回复:
首先我说说用maven打包使用的方法:
程序run:clean install在target打包成jar包,
输入一下类似的命令:java -cp my-app-1.0-SNAPSHOT.jar com.mycompany.app.App,必须要cd进入该jar包的
文件夹下面,而你需要的依赖包已经在你本地的maven仓库中;
ecplise export成jar包,只需要把依赖包也压缩进去就行。命令跟你那个一样java -jar xxx.jar

你的意思是把jar包打进去类似下面的结构

也不行的,我开始就这样,后来网上有人说jar包里面是不能再放jar包,要拿出来放到my-app-1.0-SNAPSHOT.jar同级目录下,我试了还是不行,能不能写个小例子,随便加个依赖包,我运行下看看,非常感谢美女

#3


#4


自己敲命令记得classpath参数

#5


引用 4 楼 rainbowsix 的回复:
自己敲命令记得classpath参数

你意思是
在cmd中敲:set classpath=D:\lib\joda-time-2.2.jar;然后再java -jar test.jar吗?

还是提示找不到类啊

#6


引用 5 楼 wm5920 的回复:
Quote: 引用 4 楼 rainbowsix 的回复:

自己敲命令记得classpath参数

你意思是
在cmd中敲:set classpath=D:\lib\joda-time-2.2.jar;然后再java -jar test.jar吗?

还是提示找不到类啊


Manifest 里不要加class-path了。

#7


引用 6 楼 rainbowsix 的回复:
Quote: 引用 5 楼 wm5920 的回复:

Quote: 引用 4 楼 rainbowsix 的回复:

自己敲命令记得classpath参数

你意思是
在cmd中敲:set classpath=D:\lib\joda-time-2.2.jar;然后再java -jar test.jar吗?

还是提示找不到类啊


Manifest 里不要加class-path了。

大哥还是不管用,这是我的jar包您看看哪有问题 http://pan.baidu.com/s/1iQ2uk

#8


引用 7 楼 wm5920 的回复:
Quote: 引用 6 楼 rainbowsix 的回复:

Quote: 引用 5 楼 wm5920 的回复:

Quote: 引用 4 楼 rainbowsix 的回复:

自己敲命令记得classpath参数

你意思是
在cmd中敲:set classpath=D:\lib\joda-time-2.2.jar;然后再java -jar test.jar吗?

还是提示找不到类啊


Manifest 里不要加class-path了。

大哥还是不管用,这是我的jar包您看看哪有问题 http://pan.baidu.com/s/1iQ2uk


那就这样写吧
MANIFEST.MF

Manifest-Version: 1.0
Class-Path: joda-time-2.2.jar
Main-Class: main.java.hello.HelloWorld



joda-time-2.2.jar 和 mvntest.jar 放同一路径下

执行java  -jar mvntest.jar


#9


引用 8 楼 rainbowsix 的回复:
Quote: 引用 7 楼 wm5920 的回复:

Quote: 引用 6 楼 rainbowsix 的回复:

Quote: 引用 5 楼 wm5920 的回复:

Quote: 引用 4 楼 rainbowsix 的回复:

自己敲命令记得classpath参数

你意思是
在cmd中敲:set classpath=D:\lib\joda-time-2.2.jar;然后再java -jar test.jar吗?

还是提示找不到类啊


Manifest 里不要加class-path了。

大哥还是不管用,这是我的jar包您看看哪有问题 http://pan.baidu.com/s/1iQ2uk


那就这样写吧
MANIFEST.MF

Manifest-Version: 1.0
Class-Path: joda-time-2.2.jar
Main-Class: main.java.hello.HelloWorld



joda-time-2.2.jar 和 mvntest.jar 放同一路径下

执行java  -jar mvntest.jar


分数全给你了
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告