我創建了我的jar文件在以下文件夾:問題MANIFEST.MF在JAR
/usr/local/bin/niidle.jar
而且我有一個jar文件是在以下文件夾
/Projects/EnwelibDatedOct13/Niidle/lib/hector-0.6.0-17.jar
而這個文件'hector-0.6.0-17.jar'我必須包含在MANIFEST.MF中的jar中。
當我提到在MANIFEST.MF類路徑如下:
Manifest-Version: 1.0
Main-Class: com.ensarm.niidle.web.scraper.NiidleScrapeManager
Class-Path: /Projects/EnwelibDatedOct13/Niidle/lib/hector-0.6.0-17.jar
當我運行此命令使用:
java -jar /usr/local/bin/niidle.jar
它可以正常工作..
但我不想要給出完整的Class-Path名稱,我必須給Class-Path如下:
Manifest-Version: 1.0
Main-Class: com.ensarm.niidle.web.scraper.NiidleScrapeManager
Class-Path: lib/hector-0.6.0-17.jar
當我運行這個命令使用:
java -jar /usr/local/bin/niidle.jar
它顯示錯誤消息:
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
請告訴我該解決方案...
可能重複的[與JAR文件內設置在MANIFEST.MF類路徑問題](HTTP:/ /stackoverflow.com/questions/4667281/problem-with-setting-the-class-path-in-manifest-mf-within-jar-file) – 2011-01-13 10:49:27