如何在jetty-maven-plugin中启用Java断言?

时间:2011-03-02 16:21:32

标签: java maven-2 maven jetty assertions

如何在assertions中启用jetty-maven-plugin?默认情况下,它们被禁用。

4 个答案:

答案 0 :(得分:6)

将环境变量MAVEN_OPTS设置为-ea。 Jetty默认在Maven进程中运行,因此受此设置的影响。

还有一个名为Force Assertions的有趣库,它挂钩到Java 1.6编译过程。在编译期间,所有assert cond : detail;都透明地编译为if (!cond) throw new Assertion(detail);块,这意味着无论JVM参数是什么,断言都将始终有效。值得一试。

答案 1 :(得分:0)

答案 2 :(得分:0)

如果你正在使用Netbeans(使用Netbeans 8.0测试过),这就是imo的方法:

将此添加到您的nbactions.xml文件(在项目根目录中):

<actions>
  <action>
    <actionName>CUSTOM-jetty:run</actionName>
    <displayName>jetty:run</displayName>
    <goals>
        <goal>jetty:run</goal>
    </goals>
    <properties>
        <Env.MAVEN_OPTS>-ea</Env.MAVEN_OPTS>
    </properties>
  </action>
</actions>

无需其他设置。你可以使用jetty:run。

另见https://netbeans.org/bugzilla/show_bug.cgi?id=166874

答案 3 :(得分:0)

如果仅使用maven-surefire-plugin运行测试,请使用此

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
      <enableAssertions>true</enableAssertions>
    </configuration>
  </plugin>