类路径中的 jar 文件和 Eclipse 中的构建路径不同



我在类路径中添加了Lombok 1.12 jar文件,同时在库中提供了Lombok 1.16 jar文件(在eclipse中配置构建路径时)。 Eclipse无法识别像@Builder这样的龙目岛的一些注释(给出编译器错误)。(@Builder也包含在版本 1.12 的主Lombok包中)

后来我也更正了类路径中Lombok 1.16 jar文件。 @Builder注释这次被Eclipse识别出来。现在一切正常。

这意味着 vm 中的类路径与构建路径进行比较,并检查二进制文件 (lombok.jar) 是否与类路径和构建路径相同。我的断言正确吗?如果我错误地解释了这一点,请纠正我。

构建路径是一种类路径的超集,它包含类路径,源代码路径和所有依赖于项目的资源。如果您有 2 个不同版本的 jar,JVM 将从构建路径中首先出现的 jar 加载类。这可以通过编辑(构建路径->配置构建路径->导出顺序)来管理。如果所需的类在第一个版本中不可用,它将签入第二个版本 jar .如果它根本没有找到它,那么编译错误将被抛出

eclipse 中,如果两个 jar 都在构建路径中,则将它们作为您要引用的顺序通过使其转到顶部来给予它优先级顺序 - 构建路径最后一个选项卡,或者您可以取消链接您不想引用的较低版本。

最新更新