Gradle + Buildship -在JAR和项目之间切换依赖关系



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

假设ProjectA(包含一个main)依赖于ProjectB(一个库项目)。如果在Eclipse中打开ProjectB,我希望ProjectA直接使用ProjectB。在运行ProjectA时,ProjectB中代码的变化是显而易见的。但是,如果关闭ProjectB,我希望ProjectA使用位于构建中提到的Maven存储库中的ProjectB的JAR。gradle文件。

我所说的行为在这里有详细说明。

是否有一种方法可以使用Buildship?或者我应该使用另一个Gradle Eclipse插件吗?

  1. 在Gradle 3.1中添加了一个新的复合构建支持特性。

  2. 你可以使用依赖替换规则来替换本地项目依赖。

  3. 如果每个项目都在它自己独立的git/subversion存储库中,你可以使用prezi骄傲来管理项目的骄傲。你可以导入(动态生成的)多模块构建到buildship。

  4. 如果你想使用eclipse插件而不是构建,你可以使用whenMerged或withXml钩子来调整生成的.classpath文件,以指向工作区中的项目(注意eclipse现在将以不同于gradle命令行的方式构建)。

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

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

然而,这种方法有一些陷阱:

  • 不能在任务中进行依赖项替换。它需要在build.gradle文件或在build.gradle文件调用的方法中完成。
  • 你需要刷新工作区。

相关内容

  • 没有找到相关文章

最新更新