我有一个maven项目,需要在命令行设置属性(-Dmy.property = val)。 我需要做的是将该字符串转换为所有上限,因为该属性是 用于通过maven-resources-plugin在许多文件中替换字符串。 最简单的方法是什么?
答案 0 :(得分:10)
可以使用groovy插件。以下配置将其配置为在Maven构建过程的开头运行:
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
import org.apache.commons.lang.StringUtils
project.properties["my.property"] = StringUtils.upperCase(project.properties["my.property"])
</source>
</configuration>
</execution>
</executions>
</plugin>
答案 1 :(得分:1)
使用以下代码,MY_PROPERTIES
等于my.properties
的大写值:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.12</version>
<executions>
<execution>
<id>properties-to-uppercase</id>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>MY_PROPERTY</name>
<regex>.*</regex>
<value>${my.property}</value>
<replacement>$0</replacement>
<failIfNoMatch>false</failIfNoMatch>
<toUpperCase>true</toUpperCase>
</configuration>
</execution>
</executions>
</plugin>