我创建了jar文件,然后使用命令运行它: -
java -jar /usr/local/bin/niidle.jar参数...
然后我收到了这个错误----线程“main”中的异常java.lang.NoClassDefFoundError:com /ensarm.niidle.web.scraper.NiidleScrapeManager.main中的me / prettyprint / hector / api / Serializer(NiidleScrapeManager.java:21 )引起:java.lang.ClassNotFoundException:java.net.URLClassLoader $ 1.run(URLClassLoader.java:200)中的java.security.AccessController.doPrivileged(本地方法)java.上的me.prettyprint.hector.api.Serializer . net.URLClassLoader.findClass(URLClassLoader.java:188)at java.lang.ClassLoader.loadClass(ClassLoader.java:307)at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301)at java.lang.ClassLoader .loadClass(ClassLoader.java:252)at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
......还有1个
我在MANIFEST.MF中提到了完整的类路径名,Class-Path = / Projects / EnwelibDatedOct13 / Niidle / lib / hector-0.6.0-17.jar,从而删除了这个错误 . 现在,当我使用命令运行它时: -
java -cp /Projects/EnwelibDatedOct13/Niidle/lib/hector-0.6.0-17.jar -jar /usr/local/bin/niidle.jar arguments ...它正常工作 .
但我想在MANIFEST.MF中的Class-Path中仅提及jar文件名“hector-0.6.0-17.jar” . 如果我提供完整的类路径,那么它将无法在其他机器上工作 . 我必须运行其他机器上的这个 jar . 当我只提到jar文件名“hector-0.6.0-17.jar”时,我用命令运行它: -
java -cp /Projects/EnwelibDatedOct13/Niidle/lib/hector-0.6.0-17.jar -jar /usr/local/bin/niidle.jar arguments ...它显示了同样的错误信息: -
线程“main”中的异常java.lang.NoClassDefFoundError:com /ensarm.niidle.web.scraper.NiidleScrapeManager.main中的me / prettyprint / hector / api / Serializer(NiidleScrapeManager.java:21)引起:java.lang .ClassNotFoundException:java.net.URLClassLoader $ 1.run(URLClassLoader.java:200)中的me.prettyprint.hector.api.Serializer,位于java.net.URLClassLoader.findClass(URLClassLoader)的java.security.AccessController.doPrivileged(Native Method) .java:188)at java.lang.ClassLoader.loadClass(ClassLoader.java:307)at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301)at java.lang.ClassLoader.loadClass(ClassLoader.java: 252)at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
......还有1个
我不想在MANIFEST.MF中提到完整的类路径名,所以请告诉我这方面的解决方案,或者如何在MANIFEST.MF中将jar文件名“hector-0.6.0-17.jar”设置为Class-Path jar .