【发布时间】:2011-01-13 15:14:14
【问题描述】:
我在以下文件夹中创建了我的 jar 文件:
/usr/local/bin/niidle.jar
我有一个 jarfile,它位于以下文件夹中
/Projects/EnwelibDatedOct13/Niidle/lib/hector-0.6.0-17.jar
我必须将这个文件“hector-0.6.0-17.jar”包含在 jar 中的 MANIFEST.MF 中。
当我在 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
显示错误信息:
线程“main”中的异常 java.lang.NoClassDefFoundError: me/prettyprint/hector/api/Serializer
在 com.ensarm.niidle.web.scraper.NiidleScrapeManager.main(NiidleScrapeManager.java:21)
引起:java.lang.ClassNotFoundException:me.prettyprint.hector.api.Serializer
在 java.net.URLClassLoader$1.run(URLClassLoader.java:200)
在 java.security.AccessController.doPrivileged(本机方法)
在 java.net.URLClassLoader.findClass(URLClassLoader.java:188)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:307)
在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:252)
在 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 1 更多
请告诉我解决方案...
【问题讨论】:
标签: java