2013-07-25 1 views
0

Java 응용 프로그램은 Ant를 사용하여 컴파일하는 동안 1000 개 이상의 경고 (주로 사용되지 않는 API 관련 코드는 기존 코드이므로)를 제공하며 오류 메시지가 수천 개와 섞여있는 것을 찾기가 매우 어렵습니다. 로그에 기록 된 경고.경고와 오류를 구분하는 개미

Ant javac 작업에서 인수를 전달하여 경고를 표시하지는 않았지만 작동하지 않았습니다.

로그의 경고와 오류를 구분할 수있는 옵션이 있습니까? 예 : 모든 경고와 마찬가지로 오류?

답변

1

경고는 javac에 의해 표시됩니다. Ant는 단지 경고 메시지를 콘솔로 전달합니다. Ant는 javac 경고와 오류를 구분할 수 없습니다. 그러나 javac 경고 출력을 구성 할 수 있습니다. javac 작업에서 'nowarn'속성을 사용할 수 있습니다.

<javac nowarn='on' .... /> 

억제 할 경고를 정확하게 선택할 수도 있습니다. 그런 다음 javac documentation (Xlint 옵션보기)을 살펴보고 javac 작업의 'compilerarg'요소를 사용하십시오.

<javac .... > 
    <compilerarg line="-Xlint:-deprecation"/> 
</javac> 
+0

사용되지 않는 sun. * 패키지를 사용 중이므로 경고가 표시됩니다. 은 이러한 경고를 표시하지 않습니다. Ref http://stackoverflow.com/questions/13855700/suppress-javac-warning?rq=1 – Abhilash

+0

javac의 출력을 다른 ant 태스크로 파이프하여 경고를 분리 할 수 ​​있습니까? 재사용 할 기존의 작업이 있습니까? – Abhilash

+1

'exec' 작업을 사용하여 javac을 수동으로 시작한 다음'outputproperty'를 사용하여 출력을 캡처 할 수 있습니다. 그런 다음'loadresource' 리소스 작업,'property' 리소스와 filterchain으로 뭔가가 작동 할 수 있습니다. 그러나 이것은 매우 경험적이며 오류가 발생하기 쉽습니다. 나는 그것을 추천하지 않을 것이다. –