保持Eclipse项目依赖项与外部构建系统同步

情况就是这样.开发团队拥有大量(数百个)
Eclipse项目.代码非常流行 – 正在创建新项目;正在重命名项目,项目依赖性不断变化.外部构建系统是蚂蚁.将ant构建文件中定义的依赖项与Eclipse中的世界状态保持同步是极具挑战性的.外部蚂蚁构建需要不断变化才能跟上.由于各种原因,使用ant作为Eclipse中的默认构建器不是一种选择.开发人员希望继续使用Eclipse作为本地使用的构建和编辑环境.

问题:是否有一个工具允许维护一组依赖项,Eclipse可以使用这些依赖项以及像ant这样的外部构建系统?
我听说过Gradle但从未使用过它.在这种情况下它会有意义吗?我很确定Maven不会为所需要的东西工作
典型的工作流程应该是:
1.开发人员继续按目前的方式工作 – 随意创建和更改Eclipse项目依赖项,并使用默认的Eclipse构建器在本地编译和测试.
2.存在一些机制,通过这些机制可以将这些依赖关系传递到外部构建系统,如ant和每次签入时触发的外部连续构建.
感谢您的反馈 – 谢谢!

最佳答案 我们在使用Gradle解决类似问题方面非常成功.这是设置的概要

>每个项目都包含一个build.gradle,它定义项目特定的依赖项和任务(甚至可能为空).
>一个特殊的主项目包含build.gradle,它为子项目设置公共依赖项和任务,和/或注入与一组子项目相关的设置.

>逻辑上,master项目是父项目,但它作为兄弟文件夹存在,因此Eclipse可以更加舒适.

> Gradle包含一个内置的Eclipse插件,允许从依赖项信息(包括项目间依赖项)为每个项目生成Eclipse设置文件.它适用于简单的项目,而对于更复杂的项目,Gradle允许您修改设置文件,因此您几乎可以做任何事情.从这里你有两个选择:

>不要将Eclipse设置文件存储在存储库中,并在每次执行新签出时调用生成任务(我更喜欢此选项).
>告诉Gradle使用自定义变量使其生成可以签入存储库的通用设置文件.然后,您只需要在依赖项或其他配置更改时运行生成任务.

>(可选)这有点棘手,但您可以让Gradle解析现有的项目ivy.xml文件并从那里设置依赖项.虽然我建议将依赖项转换为Gradle格式以获得更大的灵活性,但我在此方面取得了一些成功.
>连续构建系统与Gradle很好地集成(与蚂蚁相同).如果您使用的是Jenkins(Hudson),则有一个Gradle插件.

使用Gradle的优点是它可以很好地扩展,你可以同时支持IntelliJ或Netbeans等其他IDE,而不需要太多努力(除非你有很多疯狂的自定义设置).优点和缺点是Gradle是一个功能强大的构建系统,需要学习Groovy和Gradle DSL,这可能需要一些时间来获取.文档也很棒.

Gradle有一个非常活跃的社区,其唯一目的就是解决这类问题.

希望这有帮助,祝你好运!

点赞