2012-05-17 2 views
2

다음 코드는 java 명령 줄에서 실행할 때 잘 작동합니다. 그러나 exec를 사용하여 실행할 때 : java 나는 그 라인이 인쇄 된 것을 본 적이 없다. 어쨌든이 동작을 멈추게하려면?Maven exec : java 및 UncaughtExceptionHandler

public static void main(String[] args) throws InterruptedException { 
    Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() { 

     @Override 
     public void uncaughtException(Thread t, Throwable e) { 
      System.out.println("Uncaught exception: " + e.getMessage()); 

     } 
    }); 

    Executors.newSingleThreadExecutor().execute(new Runnable() { 

     @Override 
     public void run() { 
      int i = 1/0; 

     } 
    }); 
    Thread.sleep(1000); 
    System.exit(0); 
} 
+1

아마도 pom.xml을 게시 할 수 있습니까? – Attila

+0

mvn 호출에'-e' 플래그를 추가 할 수 있습니까? –

답변

2

내 생각에 기본 UncaughtExceptionHandler는 Maven 자체에 의해 무시됩니다. usage guide에서

:

참고 : 자바 목표는 새로운 프로세스를 생성하지 않습니다 [...] 그렇지 않으면 간부 목표를 사용하는 것이 좋습니다.

+1

예 내 목표가 작동합니다 ("잡히지 않은 예외"메시지를 출력합니다) – wytten