如何在jetty-maven-plugin中启用断言?默认情况下,它们被禁用。
问问题
1414 次
4 回答
6
将环境变量设置MAVEN_OPTS
为-ea
. Jetty 默认在 Maven 进程中运行,因此受此设置的影响。
还有一个有趣的库叫做Force Assertions,它与 Java 1.6 编译过程挂钩。在编译期间,所有内容assert cond : detail;
都被透明地编译为if (!cond) throw new Assertion(detail);
块,这意味着无论 JVM 参数是什么,断言都将始终有效。值得检查。
于 2011-03-02T16:35:32.943 回答
0
于 2011-03-02T17:21:22.583 回答
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>
无需其他设置。你可以只使用码头:运行。
于 2014-05-20T15:04:37.403 回答
0
如果它只运行测试并且您使用的是 maven-surefire-plugin,请使用这个
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<enableAssertions>true</enableAssertions>
</configuration>
</plugin>
于 2014-07-22T07:01:09.923 回答