有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

与清单相关的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) 个答案

  1. # 1 楼答案

    java -cp /Projects/EnwelibDatedOct13/Niidle/lib/hector-0.6.0-17.jar -jar /usr/local/bin/niidle.jar arguments.....

    不能同时使用-cp开关和-jar开关

    http://mindprod.com/jgloss/classpath.html

    If you use the -jar option, java.exe ignores the classpath. It will only look in that jar!! Try using the manifest Class-Path instead to get Java to look in auxiliary jars


    And I have added this 'hector-0.6.0-17.jar' in niidle.jar folder as follows:

    据我所知,你不能用这种方式嵌套.jar文件

    既然你有Class-Path: hector-0.6.0-17.jar,你就需要把needle.jarhector-0.6.0-17.jar并排,从它们的公共目录运行niidle.jar(如果你愿意,可以使用-jar开关)