在 Eclipse 上执行 Junit 测试用例时,我们通过 传递用于 DB 配置的 VM 参数-D
,但是在通过 Maven 将相同的 Junit 测试用例上传到 Sonar 时,它不起作用,因为没有设置 VM 参数。
我试图通过MAVEN_OPTS
on传递参数,MVN.sh
但它不起作用。
与其在命令行上使用系统属性设置数据库配置,不如考虑使用配置文件进行设置。
在您的 pom.xml 中添加类似这样的内容:
<profiles>
<profile>
<id>sonar</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.3</version>
<configuration>
<systemPropertyVariables>
<db.user>foo</db.user>
<db.password>bar</db.password>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
文档:
http://maven.apache.org/guides/introduction/introduction-to-profiles.html
http://maven.apache.org/plugins/maven-surefire-plugin/examples/system-properties.html