gpt4 book ai didi

java - Eclipse:为什么项目A的库jar可以访问项目B的库jar,即使库jar没有标记为导出?

转载 作者:行者123 更新时间:2023-11-30 02:25:14 26 4
gpt4 key购买 nike

我有两个项目,我们称它们为项目 A 和 B。项目 A 使用项目 B 作为库项目,项目 B 有一个“library.jar”。该库不是由项目 B 导出的。但是项目 A 使用的第三方库可以使用项目 B 中的“library.jar”。

这怎么可能?

如果我在项目 A 中创建一个类,尝试引用这个确切的库,它无法导入该库,但导入的库可以?

它肯定正在使用该库,因为如果我从项目 B 的构建路径中删除该库,它也不适用于项目 A 中的库。

最佳答案

导出表示 API未导出表示内部:

术语导出来自OSGi/插件开发(参见Eclipse help: Plug-in Runtime),指的是可见性:导出的构建类条目在构建路径中有该项目的项目中可见。 未导出构建路径条目在上游项目构建路径的一部分,但是不可见(不能在源代码中引用)。

Eclipse 有自己的编译器,支持编译时的模块化(为 OSGi 开发,但通过所需项目导出 标志(也适用于纯 Java)以更简单的方式提供)。如果您不使用 OSGi,您将只有一个平坦的构建路径,而在运行时没有模块化。

关于java - Eclipse:为什么项目A的库jar可以访问项目B的库jar,即使库jar没有标记为导出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45792534/

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