我在以我想要的方式为Eclipse配置Buildship时遇到了一些问题。我目前有
假设ProjectA(包含一个main)依赖于ProjectB(一个库项目)。如果ProjectB在Eclipse中打开,我希望ProjectA直接使用ProjectB。运行ProjectA时,ProjectB中代码的更改会很明显。但是,如果ProjectB关闭,我希望ProjectA使用位于build. gradle文件中提到的Maven存储库中的ProjectB的JAR。
这里详细介绍了我所说的行为。
有没有办法使用Buildship做到这一点?或者我应该使用另一个Gradle Eclipse插件?
>
Gradle 3.1中添加了一个新的复合构建支持功能。此功能改变了游戏规则,使同时处理多个项目变得简单。
您可以使用依赖替换规则将存储库依赖与本地项目依赖交换出去。
如果每个项目都在它自己单独的git/subversion存储库中,您可以使用prezi骄傲来管理项目的“骄傲”。您可以将(动态生成的)多模块构建导入buildship。
如果您想使用eclipse插件而不是构建程序,您可以使用whenMerded或withXml挂钩来调整生成的. classpath
文件以指向工作区中的项目(注意eclipse现在将以不同于gradle命令行的方式构建)。
为了完成,我最终采用了LanceJava建议的依赖替换。这种方法有以下优点:
. classpath
文件,我们让Eclipse插件(或任何其他IDE插件)来处理这个问题。然而,这种方法有一些陷阱:
build. gradle
文件或从build.gradle
文件调用的方法中完成。