[英]problem with MANIFEST.MF in jar
我在以下文件夾中創建了我的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
它顯示錯誤消息:
線程“主”中的異常java.lang.NoClassDefFoundError:me / prettyprint / hector / api / Serializer\n 在com.ensarm.niidle.web.scraper.NiidleScrapeManager.main(NiidleScrapeManager.java:21)\n 引起原因:java.lang.ClassNotFoundException:me.prettyprint.hector.api.Serializer\n 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:200)\n 在java.security.AccessController.doPrivileged(本機方法)\n 在java.net.URLClassLoader.findClass(URLClassLoader.java:188)\n 在java.lang.ClassLoader.loadClass(ClassLoader.java:307)\n 在sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301)\n 在java.lang.ClassLoader.loadClass(ClassLoader.java:252)\n 在java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)\n ...還有1個
請告訴我解決方案...
我看到至少兩個解決方案:
Class-Path: 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
在運行命令的文件夾中創建一個lib
文件夾 ,將hector-0.6.0-17.jar
放入其中,然后嘗試再次運行該命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.