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

球球之家/carver 2013-10-11 04:52:17
两种打包方法:
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打包步骤差不多,结果一样

求各位大神指点。。。。


...全文
12956 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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吗? 还是提示找不到类啊 [/quote] Manifest 里不要加class-path了。[/quote] 大哥还是不管用,这是我的jar包您看看哪有问题http://pan.baidu.com/s/1iQ2uk[/quote] 那就这样写吧 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 [/quote]分数全给你了
无聊找乐 2013-10-14
  • 打赏
  • 举报
回复
引用 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吗?

还是提示找不到类啊
[/quote]

Manifest 里不要加class-path了。[/quote]
大哥还是不管用,这是我的jar包您看看哪有问题http://pan.baidu.com/s/1iQ2uk[/quote]

那就这样写吧
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


  • 打赏
  • 举报
回复
引用 6 楼 rainbowsix 的回复:
[quote=引用 5 楼 wm5920 的回复:] [quote=引用 4 楼 rainbowsix 的回复:] 自己敲命令记得classpath参数
你意思是 在cmd中敲:set classpath=D:\lib\joda-time-2.2.jar;然后再java -jar test.jar吗? 还是提示找不到类啊 [/quote] Manifest 里不要加class-path了。[/quote] 大哥还是不管用,这是我的jar包您看看哪有问题http://pan.baidu.com/s/1iQ2uk
  • 打赏
  • 举报
回复
无聊找乐 2013-10-12
  • 打赏
  • 举报
回复
引用 5 楼 wm5920 的回复:
[quote=引用 4 楼 rainbowsix 的回复:] 自己敲命令记得classpath参数
你意思是 在cmd中敲:set classpath=D:\lib\joda-time-2.2.jar;然后再java -jar test.jar吗? 还是提示找不到类啊 [/quote] Manifest 里不要加class-path了。
  • 打赏
  • 举报
回复
引用 4 楼 rainbowsix 的回复:
自己敲命令记得classpath参数
你意思是 在cmd中敲:set classpath=D:\lib\joda-time-2.2.jar;然后再java -jar test.jar吗? 还是提示找不到类啊
无聊找乐 2013-10-12
  • 打赏
  • 举报
回复
自己敲命令记得classpath参数
  • 打赏
  • 举报
回复
引用 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同级目录下,我试了还是不行,能不能写个小例子,随便加个依赖包,我运行下看看,非常感谢美女
morelzh 2013-10-11
  • 打赏
  • 举报
回复
首先我说说用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

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧