我在Subversion存储库中有一个多模块Maven项目,许多开发人员使用Eclipse + M2Eclipse进行处理。现在,如果开发人员添加了一个模块,其他人需要从命令行执行SVN更新(因为Eclipse没有看到Maven项目的公共根目录),并且手动导入新模块作为Eclipse项目。
有没有办法自动执行此操作?
我的项目结构如下:
Working Copy Eclipse Workspace working copy root -X-> +- parent ---> +- parent | \- pom.xml | \- pom.xml +- child1 ---> +- child1 | \- pom.xml | \- pom.xml +- child2 ---> +- child2 \- pom.xml \- pom.xml
答案 0 :(得分:1)
你可以在root中有一个pom,它将父,child1,child2等作为模块。在SVN更新后,如果添加了新模块,则可以运行
mvn eclipse:clean eclipse:m2eclipse
如果您使用TortoiseSVN,可以设置post-update client side hook,但每个开发人员都必须单独设置它。
答案 1 :(得分:0)
可能是buckminster项目可以帮助您检查FAQ。希望它有所帮助
答案 2 :(得分:0)
有没有办法自动执行此操作?
要做什么?为避免手动导入新模块作为Eclipse项目? AFAIK,目前不支持,你必须手动添加它(应该可以通过编程方式进行,但是有一个对Maven Eclipse插件的请求 - MECLIPSE-75 - 找不到一个Eclipse的Maven Intergration)。
那就是说,添加模块真的经常发生吗?你的情况可能会有所不同,但根据我的经验,你会很快达到一个稳定的点,添加一个模块会变得不寻常。
然而,良好的团队沟通是我发现解决这个问题的最佳解决方案。当开发人员添加新模块时,他有责任让其他团队成员知道他引入了更改并描述了将修改考虑在内的必要步骤。没有人是无所不知的,没有人可以读到别人的想法,积极的沟通是良好合作的关键。
答案 3 :(得分:0)
你也可以使用maven-eclipse-plugin
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<wtpversion>2.0</wtpversion>
<projectNameTemplate>[artifactId]-[version]</projectNameTemplate>
</configuration>
</plugin>
从svn
导入项目后刷新项目或者您也可以右键单击该项目,然后单击“启用依赖关系管理”