如何将源文件.properties中的占位符替换为另一个与Maven的file.properties

时间:2015-01-25 10:34:09

标签: maven pom.xml

我正在学习如何使用Maven将文件属性的占位符替换为另一个文件属性。我的项目有一个名为testMaven的主文件夹,我在项目中创建了两个文件属性,其中第一个文件位于testMaven-> local-> value.properties中,并且文件有:

用户=为testUser 密码= testPassword

而是位于src / main / java-> test.properties中的第二个文件属性有:

用户= @用户@ 密码= @密码@

我想将文件属性改为文件属性,并将字段替换为: 用户=为testUser 密码= testpassword

如何在pom.xml文件中写入以上描述? 谢谢

1 个答案:

答案 0 :(得分:3)

您需要使用两个插件:

这两个文档都很简单。

更新

给定custom.properties文件:

  

custom.user =
为testUser   custom.password = testPassword

阅读:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>properties-maven-plugin</artifactId>
            <version>${properties-maven-version}</version>
            <executions>
                <execution>
                    <phase>initialize</phase>
                    <goals>
                        <goal>read-project-properties</goal>
                    </goals>
                    <configuration>
                      <files><file>${jbake.inputDirectory}/custom.properties</file>
                      </files> 
                    </configuration>
                </execution>
            </executions>
        </plugin>

现在,您需要为每个属性运行replacer:

            <plugin>
                <groupId>com.google.code.maven-replacer-plugin</groupId>
                <artifactId>replacer</artifactId>
                <version>${replacer-maven-version</version>
                <executions>
                    <execution>
                        <id>replace-for-documentation</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>replace</goal>
                        </goals>
                        <configuration>
                            <preserveDir>true</preserveDir>
                            <basedir>${basedir}/src/main/resources</basedir>
                            <outputBasedir>${basedir}</outputBasedir>
                            <outputDir>src/site</outputDir>
                            <ignoreErrors>true</ignoreErrors>
                            <regex>false</regex>
                            <delimiters>
                                <delimiter>@</delimiter>
                            </delimiters>
                            <filesToInclude>
                                *.properties
                            </filesToInclude>
                            <replacements>
                                <replacement>
                                    <token>user</token>
                                    <value>${custom.user</value>
                                </replacement>
                                <replacement>
                                    <token>password</token>
                                    <value>${custom.password}</value>
                                </replacement>
                            </replacements>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

将替换src / main / resources下属性文件中出现的@ user @或@ password @。生成的文件将在src / site