gpt4 book ai didi

java - 在 jar 内使用 jar 时 Eclipse 生成的自定义类加载器在哪里?

转载 作者:行者123 更新时间:2023-12-02 09:34:29 26 4
gpt4 key购买 nike

使用 Eclpise(和其他工具),可以将依赖项 jar 包含在另一个 jar 中(请参阅 this answer )。当 Eclipse 这样做时,它会生成一个自定义类加载器,因为“经典”类加载器无法在一个 jar 中找到另一个 jar 中的类。

要创建我的 jar (package.final.jar),我:
- 导入 jar 以将 (dep.jar) 包含在我项目的 libs/ 文件夹中;
- 在 MANIFEST.MF -> Runtime -> Classpath 中添加了 dep.jar (因此它将行 Bundle-ClassPath: libs/dep.jar,. 添加到我的 list 中) ;
- 将我的项目导出为可部署的插件和片段

并且package.final.jar仅包含此结构:

-META-INF/MANIFEST.MF
-package/-class1.class
-class2.class
.
.
.
-libs/dep.jar

所以我想知道,Eclipse 创建的自定义类加载器在哪里?

最佳答案

对于 Eclipse 插件,插件的 MANIFEST.MF 中的 Bundle-ClassPath 条目告诉 Eclipse/OSGi 系统主插件 jar 中的哪些类和 jar 是该类的一部分路径。

插件 jar 中没有添加额外的代码,Eclipse 类加载器处理包含的 jar。

因此,只要 MANIFEST.MF 正确,您就可以按照自己喜欢的方式构建 jar。现在使用 maven + Eclipse tycho 很常见。

关于java - 在 jar 内使用 jar 时 Eclipse 生成的自定义类加载器在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57659237/

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