gpt4 book ai didi

java - jar 中的 MANIFEST.MF 有问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:17:50 24 4
gpt4 key购买 nike

我已经为我的项目创建了 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...

然后它就可以正常工作了......但我不想要完整的类路径名称。

所以当我的 MANIFEST.MF 结构如下:我希望它使用以下类路径运行:

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

请告诉我解决方法......

最佳答案

显然,所需的库不在实际的类路径中。 Here it says:

The URLs in the Class-Path header are given relative to the URL of the JAR file of the applet or application.

据我所知,java 现在(仅)在此位置查找 hector 库:

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

请注意,如果您使用 -jar 执行 java选项,类路径条目取自 manefest -cp 中的附加条目或 $CLASSPATH被忽略。

关于java - jar 中的 MANIFEST.MF 有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4669863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com