我已经创建了一个自动化框架,我从一个属性文件中阅读值,比如“config.properties“。
我的config.propertioes文件包含以下内容:
BrowserName=${browser}
Environment=${env}
我正在从属性文件中阅读浏览器值,并将其传递给selenium脚本以运行它。
现在我想使用pom.xml将“${browser}"
&&“${env}"
替换为值“ie
“&&“IT"
。是否有任何方法/插件使用,我可以编辑一个属性文件使用pom.xml。
请建议一下。
@Keshava我把整个例子如下所示:1.拥有2个属性文件:安装project.properties:这是我们在仓库中提交的文件。它包括以下数据:安装project.connection.username=@@DB_USERNAME@@ project.connection.password=@@DB_PASSWORD@@
安装build.properties:这是我们不在存储库中提交的文件,它在每个部署环境中维护,无论是开发环境、UAT环境还是生产环境。此文件的内容如下:数据库.用户名=mydbuser数据库.密码=mydbpassword
2.在项目的pom.xml中添加以下插件和一个执行:
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>maven-replacer-plugin</artifactId>
<version>1.3.5</version>
<executions>
<execution>
<id>replaceTokens</id>
<phase>prepare-package</phase>
<goals>
<goal>replace</goal>
</goals>
</execution>
</executions>
<configuration>
<file>target/classes/project.properties</file>
<replacements>
<replacement>
<token>@@DB_USERNAME@@</token>
<value>${db.username}</value>
</replacement>
<replacement>
<token>@@DB_PASSWORD@@</token>
<value>${db.password}</value>
</replacement>
</replacements>
</configuration>
</plugin>
从上面,我明白了"@@DB_USERNAME@@"
来自"project.properties"
。但是,这个"${db.username}"
值将从哪个属性文件中获取?.我的pom将如何理解从哪里采取"${db.username}"
.
我是否需要像下面这样在maven goal中传递这个值:
mvn clean install -Ddb.username=myuserid
3条答案
按热度按时间tf7tbtn21#
你好,你可以使用maven resource plugin。
这个插件实现了“Maven Filtering“。
xtfmy6hx2#
您可以尝试使用maven插件查看https://code.google.com/archive/p/maven-replacer-plugin/
查看示例here
8hhllhi23#
maven本质上还有一个可解析、可继承和可重写的部分。您可以同时使用maven配置文件来实现任何可能的解决方案。您要搜索的关键字可以是“使用maven配置文件管理maven属性”