我在按照我想要的方式配置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插件吗?
答案 0 :(得分:9)
Gradle 3.1中添加了新的composite build support功能。此功能可以改变游戏规则,使您可以轻松地同时处理多个项目。
您可以使用dependency substitution rules将存储库依赖项与本地项目依赖项交换出来。
如果每个项目都在自己独立的git / subversion存储库中,您可以使用prezi pride来管理项目的“自豪感”。您可以将(动态生成的)多模块构建导入到构建中。
如果您想使用eclipse plugin而非buildship,可以使用whenMerged或withXml挂钩来调整生成的angular.injector
文件以指向项目在你的工作区内(注意eclipse现在将以不同的方式构建为gradle命令行)。
答案 1 :(得分:2)
为了完成,我最终得到了Lance Java建议的依赖替换。这种方法具有以下优点:
.classpath
文件,我们让Eclipse插件(或任何其他IDE插件)处理这个。然而,这种方法存在一些问题:
build.gradle
文件或从build.gradle
文件调用的方法中完成。