5

コマンド ライン (-Dmy.property=val) でプロパティを設定する必要がある Maven プロジェクトがあります。私がする必要があるのは、その文字列をすべて大文字に変換することです。そのプロパティは、maven-resources-plugin を介して多数のファイルで文字列の置換に使用されるためです。これを行う最も簡単な方法は何ですか?

4

2 に答える 2

13

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>
于 2012-05-09T19:05:52.547 に答える
5

次のコードで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>      
于 2017-01-12T09:41:38.633 に答える