从 IntelliJ 调用 Maven-Module Build

2022-09-04 04:19:18

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

因此,例如,如果我只想在图片中构建模块“模型”,那么单击其上的包步骤似乎是合理的。但它实际执行的操作是调用此特定模块中的步骤,而不是从根模块调用,根模块也构建了所有依赖项。mvn packagemvn -am -pl module-name

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

删除了死图像黑客链接


答案 1

我这样做(想法8.1.4)

  • 打开运行对话框(窗口上的 shift-f10)
  • 单击 + 并选择 Maven 以添加 Maven 生成配置
  • 填写表单,添加
  • 1 个工作目录
  • 2 个 maven 命令行选项
  • 3个进球
  • 4 个配置文件

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


答案 2

您非常了解 mvn 命令行!要将此命令行放入IDEA中,请右键单击根项目,其中一个选项将是“创建...[包]”。

进行以下编辑:

  1. 将名称设置为类似于“制作模型 [安装]”
  2. 在目标框中,输入您的命令行,即“-am -pl模型安装”

我知道这些不是严格意义上的目标,但似乎它们直接传递给了maven。(在 IDEA 9.0.1 中测试)

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

希望这有帮助!mdma

PS:一个小小的旁白。包当前是默认的构建目标 - 这可能不适用于多模块构建,因为依赖模块无法访问最新构建的类 - 建议使用安装作为默认目标,以确保依赖项使用最近构建的工件版本。如果你担心安装可能会将损坏的项目添加到本地存储库并中断所有本地生成,请为每个项目使用单独的本地存储库(使用自定义设置.xml)。


推荐