Java jar中的MANIFEST.MF出现问题

Java jar中的MANIFEST.MF出现问题,java,Java,我已在以下文件夹中创建了我的jar文件: 我有一个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/h

我已在以下文件夹中创建了我的jar文件:

我有一个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 
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
java -jar /usr/local/bin/niidle.jar
它工作正常

但是我不想给出完整的类路径名,我必须给出如下的类路径:

Manifest-Version: 1.0
Main-Class: com.ensarm.niidle.web.scraper.NiidleScrapeManager
Class-Path: /Projects/EnwelibDatedOct13/Niidle/lib/hector-0.6.0-17.jar 
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
java -jar /usr/local/bin/niidle.jar
它正在显示错误消息:

线程“main”java.lang.NoClassDefFoundError中出现异常:me/prettyprint/hector/api/Serializer 位于com.ensarm.niidle.web.scraper.niidlesrapemager.main(niidlesrapemager.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) ... 还有一个
请告诉我解决方案…

在运行命令的文件夹中创建一个
lib
文件夹,将
hector-0.6.0-17.jar
放入其中,然后再次尝试运行命令。

我至少看到两种解决方案:

  • 将hector-0.6.0-17.jar存储在niidle.jar中,并在类路径中使用相对路径。例如,
    类路径:lib/hector-0.6.0-17.jar
    (对于niidle.jar/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
  • 可能重复的