如何 运行 maven 命令自动执行,而不是来自命令?

How to run maven commands automatically, not from command?

我正在做一个项目,我需要构建一个用于版本控制和发布的 Maven 管道。 我这样做:

  1. 运行宁mvn versions:set -DnewVersion=2.0.0手动更改版本。
  2. 检查项目详情并检测它是快照还是发布。我有自己的自定义插件和一个 return 最终版本的参数,例如2.0.0-SNAPSHOT但是我如何 return 这个值并将其提供给另一个插件?
  3. 我编译项目并生成新名称的 jar,从 2.
  4. 还有...

我知道我可以通过 CL 命令处理每一步,但我想知道并让我困惑的是如何将所有内容嵌入 pom.xml 以及 运行 mvn install 和没有别的。

每个插件都需要一些参数来改变它。我知道我可以在 <configuration> 下使用 <argument> 标签,但有些插件没有参数标签。

我怎样才能有一个可靠的解决方案并预先在我的父 POM 中配置所有内容? 我也有自己的插件,但我不确定是否可以将所有东西嵌入其中,我只是 运行 myplugin:Install.

要构建 SNAPSHOT,您通常只需 运行 mvn clean verify 在您的项目上。如果您需要特殊的插件,您可以按照插件说明中的建议在configuration部分进行配置。

要构建发布版本,您应该使用构建服务器(如 Jenkins)。在那里,您可以比在 Maven 中更容易地构建所有步骤。如果由于某种原因,您不能这样做,请使用 maven 发布插件。