Gradle + Buildship - 在JAR和项目

时间:2015-09-16 12:19:47

标签: eclipse gradle maven-2 build.gradle gradle-eclipse

我在按照我想要的方式配置Buildship for Eclipse时遇到了一些麻烦。我目前有>在Eclipse中总是打开50个项目,但是我想继续只使用我在Eclipse中积极处理的项目,其他项目将使用Maven存储库来解决它们的依赖关系。

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

我所说的行为详细here

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

2 个答案:

答案 0 :(得分:9)

  1. Gradle 3.1中添加了新的composite build support功能。此功能可以改变游戏规则,使您可以轻松地同时处理多个项目。

  2. 您可以使用dependency substitution rules将存储库依赖项与本地项目依赖项交换出来。

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

  4. 如果您想使用eclipse plugin而非buildship,可以使用whenMergedwithXml挂钩来调整生成的angular.injector文件以指向项目在你的工作区内(注意eclipse现在将以不同的方式构建为gradle命令行)。

答案 1 :(得分:2)

为了完成,我最终得到了Lance Java建议的依赖替换。这种方法具有以下优点:

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

然而,这种方法存在一些问题: