Maven Profile 从 Properties 文件中读取数据
Maven Profile reads data from Properties file
我有一个使用 Maven 作为构建工具的 Selenium 项目,我想从 .properties 文件中读取不同的环境详细信息(协议、域、子域等)。是否可以使用 Maven 配置文件 运行 我在不同环境(例如开发、暂存、生产)上的测试基于我在触发 mvn 命令时指定的配置文件?
dev.properties:
protocol=http
domain=domain.com
subdomain=www
pom.xml:
<profiles>
<profile>
<id>prod</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>pre_prod</id>
</profile>
<profile>
<id>dev</id>
</profile>
</profiles>
mvn:
mvn clean test -Pdev
然后应使用
在 java 代码中检索数据
System.getProperty("protocol");
System.getProperty("domain");
System.getProperty("subdomain");
非常感谢任何帮助。
谢谢!
如果你只是想根据命令行参数读取不同的属性文件,你能不能只传入一个字符串,例如 -Denv=dev
然后在您的属性中 reader class 让它根据 System.getProperty("env");
初始化属性文件
Properties generalProperties = new Properties();
String generalPropertiesFileName = "data/"+
System.getProperty("env") + ".properties";
initProperties(generalProperties, generalPropertiesFileName);
或者,您也可以使用相同的方式将属性从命令行传递到 POM -
<properties>
<property>
<protocol></protocol>
<domain></domain>
<subdomain></subdomain>
<property>
<properties>
然后这些可以从命令行作为 -Dprotocol=foo 等传入
希望对您有所帮助?
我有一个使用 Maven 作为构建工具的 Selenium 项目,我想从 .properties 文件中读取不同的环境详细信息(协议、域、子域等)。是否可以使用 Maven 配置文件 运行 我在不同环境(例如开发、暂存、生产)上的测试基于我在触发 mvn 命令时指定的配置文件?
dev.properties:
protocol=http
domain=domain.com
subdomain=www
pom.xml:
<profiles>
<profile>
<id>prod</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>pre_prod</id>
</profile>
<profile>
<id>dev</id>
</profile>
</profiles>
mvn:
mvn clean test -Pdev
然后应使用
在 java 代码中检索数据System.getProperty("protocol");
System.getProperty("domain");
System.getProperty("subdomain");
非常感谢任何帮助。
谢谢!
如果你只是想根据命令行参数读取不同的属性文件,你能不能只传入一个字符串,例如 -Denv=dev
然后在您的属性中 reader class 让它根据 System.getProperty("env");
初始化属性文件Properties generalProperties = new Properties();
String generalPropertiesFileName = "data/"+
System.getProperty("env") + ".properties";
initProperties(generalProperties, generalPropertiesFileName);
或者,您也可以使用相同的方式将属性从命令行传递到 POM -
<properties>
<property>
<protocol></protocol>
<domain></domain>
<subdomain></subdomain>
<property>
<properties>
然后这些可以从命令行作为 -Dprotocol=foo 等传入
希望对您有所帮助?