【问题标题】:Share Maven run configurations with other developers using Intellij IDEA使用 Intellij IDEA 与其他开发人员共享 Maven 运行配置
【发布时间】:2015-04-01 11:37:39
【问题描述】:

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

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

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

有什么想法或建议吗?

非常感谢!

【问题讨论】:

    标签: maven intellij-idea versioning collaboration


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-26
      • 2011-04-09
      • 1970-01-01
      • 2017-07-21
      相关资源
      最近更新 更多