5

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

4

4 回答 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

请参阅:maven jetty 插件 - 如何控制 vm 参数?

于 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>

无需其他设置。你可以只使用码头:运行。

另请参阅https://netbeans.org/bugzilla/show_bug.cgi?id=166874

于 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 回答