Eclipse类路径不可传递

时间:2011-11-16 23:23:06

标签: java eclipse dependencies classpath

假设我们有:

  • Eclipse项目A取决于Eclipse项目B。
  • 项目B依赖于commons-collection.jar(在B的.classpath中指定)

为什么传递机制不适用于Eclipse IDE,以便A知道commons-collections.jar,即使没有在自己的.classpath文件中指定它。

我知道Maven可以提供此功能,但为什么像Eclipse(或IntelliJ;)这样的IDE不会默认?

有缺点吗?是否可以避免因检查类路径中的每个元素而导致性能下降?

2 个答案:

答案 0 :(得分:5)

嗯,默认情况下它没有应用,但你应该使用Eclipse项目“Properties”中“Java Build Path”下的“Order and Export”选项卡。检查所需的依赖关系以变为传递。

为什么不默认设置?例如,可能存在运行时不需要的依赖项(也称为“提供”)...您不必从项目中创建一个小的war文件,最终会得到一个巨大的存档。

答案 1 :(得分:1)

实际上你最好将你的pom.xml导入你最喜欢的IDE(当然是IntelliJ),然后让Maven插件完成解释poms并为你创建正确的依赖关系的工作,而不是手工完成。 FYI IntelliJ构建核心基于Maven,因为它有几个版本。