gpt4 book ai didi

java - 为什么可执行 jar 不承认其中的 jar?

转载 作者:行者123 更新时间:2023-12-02 00:33:55 24 4
gpt4 key购买 nike

我使用命令提示符格式制作了一个依赖于其他 jar 的可执行 jar

jar cvfm MyJarName.jar manifest.txt *.class dependentJar1.jar dependentJar2.jar

jar 制作正确,一切看起来都很好...但是当运行时,它会出现运行时错误,因为它找不到我的项目引用的类文件。探索创建的 jar,它所依赖的其他 2 个 jar 就在那里,它们应该在那里,并且它们列在 manifest.mf 类路径中,但由于某种原因 java 是愚蠢的,并且实际上并不查看这些 jar 的内部。

当这 2 个 jar 与所有者 jar 位于同一目录中时,java 能够找到它们并且工作正常。但我不想要这个;我希望这些 jar 实际上在里面。这是怎么回事?如何使可执行 jar 与其他 jar 一起工作?

最佳答案

您可以使用类似 OneJar 的内容或jarjar (或其他任何一个)将所有东西打包在一个 jar 内。

如果您使用 Maven 进行构建,则可以使用 Maven Shade Plugin .

可以使用自定义类加载器,例如 JarClassLoader这将完全满足您的需求。

关于java - 为什么可执行 jar 不承认其中的 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8289088/

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