使用 M2Eclipse 插件在交互模式下使用 versions-maven-plugin 设置版本?

Set version with versions-maven-plugin in interactive mode with M2Eclipse plug-in?

我想用 versions-maven-plugin and goal versions:set in Eclipse. I use M2Eclipse 更改我的多模块项目的版本。

我可以在启动配置中使用 -DnewVersion=0.0.2-SNAPTSHOT 设置新版本,它工作正常。但是我想使用交互模式。

如果我没有在启动配置中设置 -DnewVersion=0.0.2-SNAPTSHOT,我会收到以下错误消息:

[ERROR] Failed to execute goal org.codehaus.mojo:versions-maven-plugin:2.2:set (default-cli) on project test-parent: You must specify the new version, either by using the newVersion property (that is -DnewVersion=... on the command line) or run in interactive mode -> [Help 1]

Maven Settings Reference 说:

  • interactiveMode: true if Maven should attempt to interact with the user for input, false if not. Defaults to true.

您无法使用 Eclipse 运行 作为 > Maven Build.. 配置的交互模式。

我建议使用 Maven 构建的控制台,它更可靠且更易于处理。

如果你不想离开你的IDE,你可以运行一个Terminal (which comes by default with the latest versions) via right click > Show In > Terminal or install a plugin like the EasyShell,这两个选项都会为你提供一个控制台,该控制台已经将你的Maven项目作为工作目录。

我找到了解决方法,请参阅 How to make Eclipse prompt me for command line arguments

我必须这样定义系统属性

-DnewVersion=${string_prompt:new version}

在 Eclipse 中启动启动配置后,我会看到一个输入新版本的对话框。然后 versions-maven-plugin 使用对话框中的版本。