情况如下。开发团队拥有大量(数百个)Eclipse项目。代码非常流行 - 正在创建新项目;正在重命名项目,项目依赖性不断变化。外部构建系统是蚂蚁。将ant构建文件中定义的依赖项与Eclipse中的世界状态保持同步是极具挑战性的。外部蚂蚁构建需要不断变化才能跟上。由于各种原因,使用ant作为Eclipse中的默认构建器不是一种选择。开发人员希望继续使用Eclipse作为本地使用的构建和编辑环境。
问题:是否有一个工具允许维护一组依赖项,Eclipse可以使用这些依赖项以及像ant这样的外部构建系统?
我听说过Gradle但从未使用过它。在这种情况下它会有意义吗?我很确定Maven不会为所需要的东西工作
典型的工作流程应该是:
1.开发人员继续按目前的方式工作 - 随意创建和更改Eclipse项目依赖项,并使用默认的Eclipse构建器在本地进行编译和测试。
2.存在一些机制,通过这些机制可以将这些依赖关系传递到外部构建系统,如ant和每次签入时触发的外部连续构建。
感谢您的反馈 - 谢谢!
答案 0 :(得分:2)
我们在使用Gradle解决类似问题方面非常成功。这是设置的大纲
build.gradle
,用于定义项目特定的依赖关系和任务(甚至可能为空)。master
项目包含build.gradle
,它为子项目设置公共依赖项和任务,和/或注入与一组子项目相关的设置。
master
项目是父项目,但它作为兄弟文件夹存在,以便Eclipse可以更加熟悉它。ivy.xml
文件并从那里设置依赖项。我在这方面取得了一些成功,但我建议将依赖项转换为Gradle格式以获得更大的灵活性。使用Gradle的优势在于它可以很好地扩展,并且您可以同时支持IntelliJ或Netbeans等其他IDE,而不需要太多努力(除非您有许多疯狂的自定义设置)。优点和缺点是Gradle是一个功能强大的构建系统,需要学习Groovy和Gradle DSL,这可能需要一些时间来获取。文档也很棒。
Gradle有一个非常活跃的社区,其唯一目的就是解决这类问题。希望这有帮助,祝你好运!
答案 1 :(得分:0)
如何解析.classpath文件,生成依赖树并从根开始构建。您需要的是关于项目布局的约定或可以在每个项目中更改的通用(ant-)构建文件(如果需要)(例如,不同的项目布局)。我不确定是否可以使用Eclipse Tycho,因为它是构建eclipse插件或项目的maven插件。但它能够解决捆绑和项目依赖关系到maven存储库和eclipse更新站点。