使用Intellij IDEA与其他开发人员共享Maven运行配置

时间:2015-04-01 11:37:39

标签: maven intellij-idea versioning collaboration

我们有以下项目设置:Maven,Eclipse,Subversion。 Eclipse Launch configurations位于docs旁边的单独pom.xml文件夹中。启动配置的运行方式类似于mvn clean install -Pdevmvn tomee:run -pl something-ear

好处是IDE会选择共享运行配置,并显示在外部工具运行命令中。这样,每个签出此项目的开发人员都可以立即运行构建。

我们希望使用IntelliJ IDEA有类似的东西,但我还没有找到一个好的等价物。到目前为止我所考虑的事项:

分享运行脚本

我的第一个想法是用运行脚本替换启动配置。我只是无法弄清楚如何让这些运行脚本在IntelliJ IDEA中运行,就像执行Maven目标一样。

分享IDEA项目配置

签出目录中的IDEA项目配置(特别是.idea/runConfigurations)不是一个好的解决方案。我们(根据手头的任务说一个具有不同IDEA模块的IDEA项目:作为开发人员,您可能需要在同一个IDEA项目中使用多个IDEA模块(和子模块)

由以下模块组成的IDEA项目不是不可能的

projectA/trunk
projectB/tags/1.2
projectC/branches/some-change

我首选的解决方案是从存储库中删除所有特定于IDE的配置,并在项目文件夹或pom.xml旁边的文件夹中提供某种运行定义,开发人员可以从命令行或从IDE运行该文件夹选择。

最佳解决方案让我在pom中定义类似的内容:

<runConfigs>
    <default>clean install</default>
    <container>tomee:run -pl something-ear</container>
</runConfigs>

然后,IDE将选择此配置,并将其作为运行或启动配置提供给开发人员。

有任何想法或建议吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

我目前的方法是混合解决方案:

  • 单独模块中没有配置
  • 在VCS中管理运行配置的一个IDEA项目配置

.idea/runConfigurations目录与项目源分开版本化。它包含具有相对于PROJECT_DIR的工作目录的命令:

<MavenRunnerParameters>
    …
    <option name="workingDirPath" value="$PROJECT_DIR$/path/to/submodule" />
</MavenRunnerParameters>

设置新项目时,开发人员还会检出此文件夹,并为所有项目提供一组预先配置的启动配置。缺点是

  • 所有启动配置均集中管理,而不是使用模块
  • IDEA项目目录具有相对于模块的固定位置。如果您设置了另一个项目,则必须更改运行配置
  • 设置未明确说明如何与其他开发人员共享启动配置的更改