在Eclipse上执行Junit测试用例时,我们通过-D
传递用于数据库配置的VM参数,但是当Maven将相同的Junit测试用例上传到Sonar时,它没有工作,因为没有设置VM参数。
我试图在MAVEN_OPTS
上通过MVN.sh
传递参数,但它无效。
答案 0 :(得分:0)
不要在命令行上使用系统属性设置数据库配置,而应考虑使用配置文件进行设置。
将这样的内容添加到您的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