在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中:
有什么事吗
谢谢
最佳答案
您必须指定依赖项的类路径,可以在清单类路径中指定,也可以在带有java -jar myapp.jar
参数的-classpath
命令中指定。
例:
java -classpath dependency1.jar;subfolder/dependency2.jar;myapp.jar package.of.your.main.Class
您还可以在Eclipse中导出Runnable Jar,因此会有一些选项可以处理依赖项,例如选项“将所需的库打包到生成的JAR中”。