簡體   English   中英

如何在jetty-maven-plugin中啟用Java斷言?

[英]How to enable Java assertions in jetty-maven-plugin?

如何在jetty-maven-plugin中啟用斷言 默認情況下,它們是禁用的。

將環境變量MAVEN_OPTS設置為-ea 默認情況下,Jetty在Maven進程中運行,因此受此設置影響。

還有一個有趣的庫,稱為Force Assertions ,它可以插入Java 1.6編譯過程。 在編譯期間,所有assert cond : detail; 透明地編譯為if (!cond) throw new Assertion(detail); 塊,這意味着斷言將始終有效,無論JVM參數是什么。 值得檢查。

如果您使用的是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

如果僅運行測試並且您正在使用maven-surefire-plugin,請使用此

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM