【问题标题】:problem with MANIFEST.MF in jarjar 中的 MANIFEST.MF 问题
【发布时间】: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


【解决方案1】:

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

  1. 将 hector-0.6.0-17.jar 存储在 niidle.jar 中,并在 Class-Path 中使用相对路径。例如。 Class-Path: lib/hector-0.6.0-17.jar(用于niidle.jar/lib/hector-0.6.0-17.jar)
  2. java -cp /Projects/EnwelibDatedOct13/Niidle/lib/hector-0.6.0-17.jar -jar /usr/local/bin/niidle.jar

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-02-14
      • 1970-01-01
      • 2010-09-24
      • 2012-06-23
      • 2015-03-25
      • 2014-03-12
      • 2021-08-02
      • 1970-01-01
      • 2013-06-30
      相关资源
      最近更新 更多