2015-09-16 75 views
8

我在按照自己的需要配置Eclipse的Buildship时遇到了一些问题。我目前在Eclipse中总是打开50个以上的项目,但我想转向只使用我在Eclipse中正在开发的项目,其他项目将使用Maven存储库来解决它们的依赖关系。Gradle + Buildship - 切换JAR和项目之间的依赖关系

可以说ProjectA(它包含一个main)取决于ProjectB(一个库项目)。如果ProjectB在Eclipse中打开,我希望ProjectA直接使用ProjectB。运行ProjectA时,ProjectB中代码的更改会很明显。但是,如果ProjectB已关闭,我希望ProjectA使用位于build.gradle文件中提到的Maven存储库中的ProjectB的JAR。

我在说的行为是详细的here

有没有办法做到这一点使用Buildship?或者我应该使用另一个Gradle Eclipse插件?

回答

8
  1. 在Gradle 3.1中增加了一个新的composite build support功能。这个功能是一个游戏转换器,可以很容易地一次处理多个项目。

  2. 您可以使用dependency substitution rules替换存储库依赖关系和本地项目依赖关系。

  3. 如果每个项目都在它自己独立的git/subversion版本库中,您可以使用prezi pride来管理项目的“骄傲”。您可以将(动态生成的)多模块构建导入构建。

  4. 如果你想使用eclipse plugin代替buildship的使用whenMergedwithXml钩来调整所产生的.classpath文件到您的工作区中指向项目(注意现在Eclipse将建设不同,以摇篮命令行)。

2

为了完成,我最终选择了兰斯爪哇提出的依赖关系替换。这种方法具有以下优点:

  • 不需要第三方软件。
  • 独立于IDE。我们不直接修改.classpath文件,我们让Eclipse插件(或任何其他IDE插件)处理此问题。
  • 其他插件可以访问我们想要使用的实际依赖项。

然而,也有一些陷阱与方法:

+0

纠正我,如果我错了,但这种解决方案只适用于gradle项目。如果我需要用不属于Gradle构建的一部分的工作区项目替代依赖项,该怎么办? – user1482710

相关问题