【发布时间】:2012-06-11 10:13:36
【问题描述】:
我有一个外部库(只有一个名为 org.vinay.dep.DependedClass 的类文件)。它在里面 它的包目录结构和目录org在桌面上。
我有一个名为 a.jar 的 jar,它依赖于我的外部库。
执行 jar -tf a.jar 给出以下输出,
META-INF/
META-INF/MANIFEST.MF
com/
com/os/
com/os/hw/
com/os/hw/HelloWorld.class
com/os/hw/HwUtil.class
我尝试以 2 种方式运行 jar
-
java -classpath C:/Users/vinay/Desktop -jar a.jar与 manifest.mf 条目正在清单版本:1.0
创建者:1.6.0_05 (Sun 微系统公司)
主类:com.os.hw.HelloWorld得到了 DependedClass
的 NoClassDefFoundError -
java -jar a.jar如下更改清单条目后清单版本:1.0
创建者:1.6.0_05 (Sun 微系统公司)
主类:com.os.hw.HelloWorld
类路径:C:/Users/vinay/Desktop但这一次它为 HelloWorld 抛出了 NoClassDefFoundError 类本身
当我将外部库打包到 jar 中并在清单文件中使用 jar 名称作为 Class-Path 条目时,它可以工作。有没有办法在不将外部库打包到 jar 的情况下解决这个问题?
【问题讨论】:
标签: java jar classpath manifest noclassdeffounderror