如何在assertions中启用jetty-maven-plugin?默认情况下,它们被禁用。
答案 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。
答案 3 :(得分:0)
如果仅使用maven-surefire-plugin运行测试,请使用此
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<enableAssertions>true</enableAssertions>
</configuration>
</plugin>