如何使用Netbeans 7.2和Maven设置系统属性?

Ror*_*ory 2 java junit netbeans system-properties maven

我在NetBeans 7.2中运行单元测试.使用Maven.

如何设置系统属性?

我尝试使用以下方法添加属性:

项目属性>运行> JVM参数

但它并没有什么区别.我认为它可能与在不同的JVM中运行的JUnit有什么关系?

Cha*_*suk 5

由于NetBeans很好地集成到Maven,它将使用maven配置(POM)来处理生命周期,例如清理,构建(安装)和测试.例如,当您右键单击项目并选择" 清理并生成 "时,您可能会看到如下内容:

cd D:\temp\prj\netbeans\dummy; 
JAVA_HOME=C:\\Java.Application\\Sun\\Java\\jdk1.6.0_31 "\"
C:\\Java.Application\\Sun\\NetBeans 7.1\\java\\maven\\bin\\mvn.bat\"" 
clean install
Run Code Online (Sandbox Code Playgroud)

我正在使用maven-surefire-plugin来设置/传递系统属性,如下所示: -

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.12</version>
            <configuration>
                <encoding>UTF-8</encoding>
                <systemProperties>
                    <property>
                        <name>DEF</name>
                        <value>456</value>
                    </property>
                </systemProperties>
                <argLine>-DABC=123</argLine>
            </configuration>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

您可能会看到有两个位置用于传递系统属性,如下所示:

  1. systemProperties标签
  2. argLine标签

关于argLine标记,您不仅可以传递系统属性,还可以传递任何其他JVM参数,例如-Xms,-Xmx.

您可能会看到关于系统性能的详细信息在这里和argLine 这里.

  • 但Netbeans 7.3尚不支持新的systemPropertyVariables标记. (2认同)