我正在学习如何使用Maven将文件属性的占位符替换为另一个文件属性。我的项目有一个名为testMaven的主文件夹,我在项目中创建了两个文件属性,其中第一个文件位于testMaven-> local-> value.properties中,并且文件有:
用户=为testUser 密码= testPassword
而是位于src / main / java-> test.properties中的第二个文件属性有:
用户= @用户@ 密码= @密码@
我想将文件属性改为文件属性,并将字段替换为: 用户=为testUser 密码= testpassword
如何在pom.xml文件中写入以上描述? 谢谢
答案 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
下