【发布时间】:2016-06-07 14:34:48
【问题描述】:
我正在将一个 Java 项目从 Ant 转换为 Gradle。我们团队选择的 IDE 是 Eclipse。我已经为 Eclipse 安装了 Spring Gradle 插件,应用了 Gradle 项目性质并启用了依赖项管理。结果是一些编译错误。
出现编译错误是因为 Gradle 依赖容器在 eclipse 类路径中的 JRE 容器之前。类路径中的一些 jar 包含应该来自 rt.jar 的类(它们与我们的代码不兼容,可能是旧版本)。
当依赖管理被禁用时,gradle 依赖出现在 JRE 容器之后并且它编译没有错误。这也与我使用 Eclipse/Maven/m2e 一致,其中 Maven 依赖容器位于 eclipse 中的 JRE 容器之后。
这是插件的默认行为(将 gradle 容器放在 JRE 之前)吗?有办法改吗?
我尝试在我的 build.gradle 中使用 eclipse 钩子(whenMerged 和 withXml)执行此操作,但这些似乎在 gradle 依赖项被容器条目替换之前执行。
【问题讨论】:
-
听起来顺序是“JRE 之前的 Gradle 依赖项”不正确,可能被视为错误。您可能想在这里提出错误报告:issuetracker.springsource.com/browse/STS。我试图在下面的回答中提供一些关于如何解决它的建议。即使这对你有用,也许它仍然值得一个错误报告?
-
感谢 Kris,我提出了一个错误。我也会回应你的变通方法。
标签: java eclipse gradle sts-springsourcetoolsuite gradle-eclipse