与清单相关的java问题。罐装MF
我已经在/usr/local/bin/niidle文件夹中创建了jar。罐子
我已经把舱单贴好了。罐中的MF如下所示:
Manifest-Version: 1.0
Main-Class: com.ensarm.niidle.web.scraper.NiidleScrapeManager
Class-Path: hector-0.6.0-17.jar
还有我的赫克托-0.6.0-17。jar文件位于以下文件夹中:
/Projects/EnwelibDatedOct13/Niidle/lib/hector-0.6.0-17.jar
我加上了这个“赫克托-0.6.0-17”。在niidle的罐子里。jar文件夹如下:
niidle.jar/lib/hector-0.6.0-17.jar
当我用这个命令运行时:
java -jar /usr/local/bin/niidle.jar arguments....
然后我得到如下错误信息:
Exception in thread "main" java.lang.NoClassDefFoundError: me/prettyprint/hector/api/Serializer
at com.ensarm.niidle.web.scraper.NiidleScrapeManager.main(NiidleScrapeManager.java:21)
Caused by: java.lang.ClassNotFoundException: me.prettyprint.hector.api.Serializer
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.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 more
当我再次使用不同的命令运行时,如下所示:
java -cp /Projects/EnwelibDatedOct13/Niidle/lib/hector-0.6.0-17.jar -jar /usr/local/bin/niidle.jar arguments.....
-------然后我也收到了同样的错误信息:--
Exception in thread "main" java.lang.NoClassDefFoundError: me/prettyprint/hector/api/Serializer
at com.ensarm.niidle.web.scraper.NiidleScrapeManager.main(NiidleScrapeManager.java:21)
Caused by: java.lang.ClassNotFoundException: me.prettyprint.hector.api.Serializer
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.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 more-------------
那么告诉我解决方法是什么。或者舱单上的任何修改。罐装MF
# 1 楼答案
不能同时使用
-cp
开关和-jar
开关从http://mindprod.com/jgloss/classpath.html
据我所知,你不能用这种方式嵌套
.jar
文件既然你有
Class-Path: hector-0.6.0-17.jar
,你就需要把needle.jar
和hector-0.6.0-17.jar
并排,从它们的公共目录运行niidle.jar
(如果你愿意,可以使用-jar
开关)