2016-12-24 17 views
2

tomee-maven-plugin을 통해 어설 션을 비활성화하는 방법을 알아 냈습니다.tomee-mavin-plugin에서 단정을 비활성화하는 방법 - "args"의 우선 순위는 무엇입니까?

Command line argument: -ea 

따라서, 주장을하지 않으려면, 내가 (아래 참조)

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

좋은 좋은 추측을 만들어 인수로 -da 시도 : 기본적으로 는 시작 TomEE JVM의 콘솔 출력은 저를 알린다 뉴스 : 어설 내가 인수에 대해 궁금하지만, 비활성화 사실에있는 콘솔 출력 여기 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 e -da이 먼저 인쇄되고 이후-ea 런타임에는 어설 션이 사용되지 않습니다.

내 질문은 :

  1. 어떻게 precende 이러한 맥락에서 정의된다?
  2. -da이 항상이 설정에서 -ea을 초과하는 구성입니까?

참고 : 현재 tomee-7.0.2를 사용 중입니다.

답변

1

우리는 제공된 값 (일반적으로 시스템 속성)을 무시하지 않으므로 항상 클래스 경로와 주 (부트 스트랩) 바로 앞에 있습니다. 여기서 문제는 da! = ea이므로 우리는 그것을 발견하지 못했습니다.