从IntelliJ调用Maven-Module Build

时间:2010-04-27 17:17:02

标签: java intellij-idea maven

我想知道是否有人知道从IntelliJ调用特定Maven模块构建的方法,该方法还将构建(或使用已经编译的类)它所依赖的模块。

因此,例如,如果我只想在图片中构建模块“Model”,那么单击它上面的包步骤似乎是合理的。但实际上它实际上会调用此特定模块中的mvn package步而不是来自根模块的mvn -am -pl module-name,这也会构建所有依赖项。

那么有什么我不知道的吗?

删除了死亡的ImageShack链接

2 个答案:

答案 0 :(得分:5)

我是这样做的(Idea 8.1.4)

  • 打开运行对话框(Windows上的shift-f10)
  • 点击 + 并选择 Maven 添加Maven构建配置
  • 填写表格,添加
  • 1个工作目录
  • 2个maven命令行选项
  • 3个maven目标
  • 4个人资料

这与从命令行运行没什么不同。这就是我想要的。

答案 1 :(得分:2)

你知道mvn命令行了!要将此命令行放入IDEA,请右键单击您的根项目,其中一个选项将是“Create ... [package]”。

进行以下编辑:

  1. 将名称设置为“Make Model [install]”
  2. 在目标框中,输入您的命令行,即“-am -pl model install”
  3. 我知道这些并不是严格的目标,但似乎它们直接传递给了maven。 (在IDEA 9.0.1中测试)

    当您运行此命令时,它现在将生成模型 - 以及它所依赖的模块。同样有用的是“-amd”,以使所有相关模块验证对Model的更改没有破坏其他模块。必须创建Run命令不如内置UI那么优雅,但您可以将这些命令与热键关联以便快速访问。

    希望这有帮助! MDMA

    PS:小一点。 Package目前是您的默认构建目标 - 这可能不适用于多模块构建,因为依赖模块无法访问最新构建的类 - 建议使用install作为默认目标,以确保最近构建的artefacts版本是由家属使用。如果您担心安装可能会将损坏的人工制品添加到本地存储库并破坏所有本地构建,请为每个项目使用单独的本地存储库(使用自定义settings.xml。)