2016-06-08 87 views
0

假设Eclipse中有2个(非Maven,legacy)项目。Eclipse Java运行时类路径和不同的库版本

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

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

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

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

想要的类路径是:A \ classes; A \ lib \ lib-2.0.jar; B \ classes

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

我发现一个可能性,指定具有自定义运行时类路径的具体启动配置。 但是这种方法很难支持: - 需要为项目A 中需要运行的每个类指定启动配置 - 需要在新库添加后立即对其进行修改。

谢谢您的建议!

Project structure

回答

0

我不知道,如果这就是你所需要的,但你可以右键点击项目A,构建路径 - >配置构建路径,并在项目选项卡中添加项目B,现在只要你会添加一些东西给B,它将在A中“可见”。

+0

不幸的是,这不是什么需要的。 A已经取决于B – leokom

+0

问题在于应排除的传递库 – leokom

+0

在项目选项卡中定义了访问规则,并从项目B中排除了库文件夹 – Stugal