我有一个这样的Eclipse启动文件:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
<stringAttribute key="M2_GOALS" value="clean appengine:deploy" />
<stringAttribute key="M2_PROFILES" value="development" />
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc}" />
</launchConfiguration>
此文件与Google App Engine Maven项目有关,我正在使用该项目将应用程序部署到在线环境。
由于不同的环境(开发,阶段,生产,...)具有不同的配置,因此我使用Maven配置文件来管理它们。
此启动文件可以正常工作,但是我无法轻松配置要用于部署的版本。我在pom.xml文件中有一个Maven属性,该属性允许我部署特定的版本,但是它并不方便
<app.deploy.version>this-is-my-version</app.deploy.version>
是否可以在询问用户输入时配置.launch文件,然后将该输入配置为与我正在使用的目标相关的Maven属性?
编辑 现在,我将概括这个问题并更好地关注该问题:
在Maven构建期间,是否存在插件或直接从运行该构建所在的CLI要求用户输入的内容?并且可以将此输入配置为Maven属性,以便在构建运行后立即使用吗?
这可能是一个非常通用的插件,目标中的参数定义了要使用给定输入配置的属性的名称。
根据我的需要,用户输入将是部署的版本,并且在构建期间需要配置为app.deploy.version
。
类似的东西:
...
...
insert value for property 'app.deploy.project'
input: my-value
'app.deploy.project' set to 'my-value'
...
...
答案 0 :(得分:0)
Maven配置文件能够设置Maven属性。例如,当在MacOS上运行构建时,以下配置文件设置os-jvm-flag
属性。
<profiles>
<profile>
<id>macosx-jvm-flags</id>
<activation>
<os><family>mac</family></os>
</activation>
<properties>
<os-jvm-flags>-XstartOnFirstThread</os-jvm-flags>
</properties>
</profile>
</profiles>
如果您想使用Eclipse中的Maven启动器来提示输入版本,则可以使用Eclipse的变量表达式。在使用变量的Maven启动器页面中添加一个参数,并指定一个string_prompt
表达式。