gpt4 book ai didi

eclipse - 编译期间的不同 jar 版本 - Gradle 项目(在 IntelliJ 和 Eclipse 中)

转载 作者:行者123 更新时间:2023-12-03 03:14:15 24 4
gpt4 key购买 nike

我有一个使用 Gradle 的多模块项目。有一个模块,数据,我对 Neo4J 有依赖关系。它在下面使用 lucene-core - 版本 3.6.2。

我将此模块用作另一个模块中的依赖项,即我使用 Jena-Text -version 1.1.2 的地方,它使用 lucene-core 版本 4.6.1。现在,我遇到了冲突,所以我为 Gradle 运行了 dependencyInsight 插件,并在 oe 模块中排除了 Neo4J 的依赖项,因为我不需要它们。该代码在 lucene 版本 4.6.1 中使用 gradle 编译得很好。

问题是,每当我尝试在 oe 模块中编写代码时,我都会从 lucence 3.6.2 获得自动完成建议,但是当 Gradle 最终编译它时,它会在 corect 版本(即 4.6.1)中执行此操作。

例如,我想在 Lucene 中编写自己的分析器。编写分析器的方式已从 3.6 版更改为 4.6 版。现在编码变得困难,如果我的 IDE 一直告诉我,我正在编写一个错误的代码,基于一个我最终不会使用的 jar。这在 IntelliJ Idea 13、企业版和 Eclipse Luna 中都发生了。

这就是我排除他们的方式。

compile(project(":data")){
exclude group:'org.springframework.data', module: 'spring-data-neo4j-rest'
exclude group:'org.springframework.data', module: 'spring-data-neo4j'

}

这是在我的 oe 模块中为 lucene-core 运行 depedencyInsight 的结果。
/oe$ gradle -q dependencyInsight --configuration compile --dependency lucene-core
org.apache.lucene:lucene-core:4.6.1
+--- compile
+--- org.apache.jena:jena-text:1.1.2
| \--- compile
+--- org.apache.lucene:lucene-analyzers-common:4.6.1
| +--- compile
| \--- org.apache.jena:jena-text:1.1.2 (*)
+--- org.apache.lucene:lucene-queries:4.6.1
| \--- org.apache.lucene:lucene-queryparser:4.6.1
| \--- org.apache.jena:jena-text:1.1.2 (*)
+--- org.apache.lucene:lucene-queryparser:4.6.1 (*)
\--- org.apache.lucene:lucene-sandbox:4.6.1
\--- org.apache.lucene:lucene-queryparser:4.6.1 (*)

(*) - dependencies omitted (listed previously)

最佳答案

intellij ,您可以通过单击 dependencies 上的向上/向下箭头来确定它使用哪个 jar 的优先级。 project structure 中模块的选项卡.不理想,但应该解决代码完成问题。

关于eclipse - 编译期间的不同 jar 版本 - Gradle 项目(在 IntelliJ 和 Eclipse 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32709399/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com