簡體   English   中英

在jar中遇到MANIFEST.MF問題

[英]having issue with MANIFEST.MF in 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 arguments...

然后它正常工作.....但我不想要完整的Class-Path名稱。

所以當我的MANIFEST.MF的結構如下:我想讓它使用以下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 arguments...

然后顯示錯誤:---

---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

請告訴我解決方案.....

顯然,所需的庫不在實際的類路徑中。 這里說:

Class-Path標頭中的URL是相對於applet或應用程序的JAR文件的URL給出的。

所以在我的理解中,java現在在這個位置尋找hector庫(僅):

/usr/local/bin/lib/hector-0.6.0-17.jar

請注意,如果你與執行java -jar選項,類路徑條目從manefest ,其他條目采取-cp$CLASSPATH被忽略。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM