Eclipse Java运行时类路径和不同的库版本

时间:2016-06-08 12:09:49

标签: java eclipse classpath

假设Eclipse中有2个(非Maven,遗留)项目。

  • A - > 取决于 B和lib-2.0.jar
  • B - > 取决于 lib-1.0.jar

当我们从项目A运行HelloWorld.java时,运行时类路径是 A \ classes; A \ lib \ lib-2.0.jar; B \ classes; B \ lib \ lib-1.0.jar

(即使库lib-1.0.jar未在项目B的Java构建路径设置上标记为“已导出”)。可能该复选框仅影响编译时类路径,而不影响运行时类。

我们需要为整个项目A排除lib-1.0.jar PERMANENTLY(因为-2.0包含不兼容的更改,并且运行时类路径中存在lib-1.0.jar和lib-2.0.jar会导致不良后果)

所需的类路径为: A \ classes; A \ lib \ lib-2.0.jar; B \ classes

如何在全球范围内实现整个项目?

我发现可以使用自定义运行时类路径指定具体的启动配置。 但这种解决问题的方法难以支持: - 需要为项目A中需要运行的每个类指定这样的启动配置 - 添加新库后需要立即修改它。

感谢您的想法!

Project structure

1 个答案:

答案 0 :(得分:0)

我不确定您是否需要,但您可以右键单击项目A,构建路径 - >配置构建路径,然后在项目选项卡中添加项目B,现在只要您向B添加内容,它就会被显示为'在A。