2016-12-24 39 views
2

我試圖找出如何通過tomee-maven-plugin禁用斷言。 默認情況下,推出TomEE JVM的控制檯輸出告訴我:如何禁用tomee-mavin-plugin中的斷言 - 「args」的優先級是什麼?

Command line argument: -ea 

因此,禁用斷言,我做了一個很好的猜測,並試圖-da爲ARGS(見下文)

<plugin> 
      <groupId>org.apache.tomee.maven</groupId> 
      <artifactId>tomee-maven-plugin</artifactId> 
      <version>${tomee.plugin.version}</version> 
      <configuration> 
       <tomeeVersion>${tomee.version}</tomeeVersion> 
       <tomeeClassifier>plus</tomeeClassifier> 
       <debug>false</debug> 
       <tomeeHttpPort>8282</tomeeHttpPort> 
       <debugPort>5005</debugPort> 
       <args>-da</args> 
       .... 

好新聞:斷言其實都是禁用的,但是,我想了解一下ARGS precendence這裏控制檯輸出仍然打印:

[main] sun.reflect.DelegatingMethodAccessorImpl.invoke Command line argument: -da 
[main] sun.reflect.DelegatingMethodAccessorImpl.invoke Command line argument: -Dtomee.force-reloadable=true 
[main] sun.reflect.DelegatingMethodAccessorImpl.invoke Command line argument: -Dtomee.jsp-development=true 
.... some more lines 
[main] sun.reflect.DelegatingMethodAccessorImpl.invoke Command line argument: -ea 

,你可以SE首先打印-da,然後-ea尚未在運行時斷言被取消。

我的問題是:

  1. 如何在這種背景下定義precende?
  2. 此配置是否健壯,因此在此設置中-da始終優於-ea

僅供參考:目前使用tomee-7.0.2。

回答

1

因爲我們試圖不覆蓋提供的值(通常是系統屬性),所以ea將始終在classpath和main(Bootstrap)之前。這裏的問題是da!= ea,所以我們沒有發現它是一樣的。

相關問題