繁体   English   中英

运行jar时java.lang.ClassNotFoundException且其依赖项位于同一目录中

[英]java.lang.ClassNotFoundException when running a jar and its dependency is in the same directory

在eclipse上,我编译了一个jar文件。 它在映射的netwrok驱动器上使用多个外部存档。 该项目在Eclipse上完美运行。

我已经将jar +所有的依赖jars复制到某个Solaris目录中。 然后我尝试

java -jar myapp.jar

它给了我以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: confmng/ConfigManager

错误消息中指定的此类位于已映射的jar之一内,我已将其复制到与主jar相同的目录中。

此外,我从solaris ping了依赖项jar所在的服务器,它是肯定的。

您还可以看到confmng包中的ConfigManager类确实在依赖项jar中:

在此处输入图片说明

有什么事吗

谢谢

您必须为依赖项指定类路径,可以在清单类路径中或在带有-classpath参数的java -jar myapp.jar命令中指定。

例:

java -classpath dependency1.jar;subfolder/dependency2.jar;myapp.jar package.of.your.main.Class

您还可以在Eclipse中导出Runnable Jar,因此会有一些选项可以处理依赖项,例如选项“将所需的库打包到生成的JAR中”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM