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

Share Maven run configurations with other developers using Intellij IDEA

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

好处是 运行 共享的 运行 配置被 IDE 拾取并显示在 外部工具 运行 命令中.这样,签出该项目的每个开发人员都可以立即访问 运行 构建。

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

分享 运行 脚本

我的第一个想法是用 运行 脚本替换启动配置。我只是不知道如何在 IntelliJ 运行 中使用那些 运行 脚本 运行A 就像执行 Maven 目标的方式一样。

分享IDE一个项目配置

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

一个IDE由以下模块组成的项目并不稀奇

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 获取并作为 运行 或启动配置提供给开发人员。

有什么想法或建议吗?

非常感谢!

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

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

.idea/runConfigurations 目录的版本独立于项目源代码。它包含具有相对于 PROJECT_DIR:

的工作目录集的命令
<MavenRunnerParameters>
    …
    <option name="workingDirPath" value="$PROJECT_DIR$/path/to/submodule" />
</MavenRunnerParameters>

在设置新项目时,开发者也会检出这个文件夹,并为所有项目预配置了一组启动配置。缺点是

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