2017-11-23 23 views
2

내가 오류로 경고를 치료하기 위해 다음과 같은 설정으로 내 자바 프로젝트를 빌드 할 Gradle을를 사용 : 이제 우리는 특정 클래스에 몇 가지 실험 연구 재료에 일하고 싶습니다Java 컴파일 중 -Werror가 특정 클래스 또는 특정 경고를 무시하도록 할 수 있습니까?

tasks.withType(JavaCompile) { 
    options.compilerArgs << "-Xlint:unchecked" << "-Werror" 
} 

이는 발생 (의이 Experimental.java를 호출하자) 일부 경고 (warning: XYZ is internal proprietary API and may be removed in a future release). 이로 인해 전체 프로젝트가 구축되지 않는 문제가 발생합니다.

-Werror (즉, "do not check Experimental.java")을 기준으로 특정 클래스를 검사에서 제외 할 수 있습니까? 또는 특정 경고 (예 : "internal proprietary API 경고를 오류로 처리하지 않음")를 무시하도록 -Werror에게 알릴 수 있습니까? 우리는 -Werror을 완전히 끄고 싶지 않습니다. 다른 클래스는 여전히 그런 식으로 취급되어야합니다.

답변

1

this answer 덕분에 해결책을 찾았습니다.

먼저 컴파일러 플래그 -XDenableSunApiLintControl을 추가하고 -Xlint:-sunapi을 사용하여 "Sun 내부 경고"를 해제 할 수 있습니다.

tasks.withType(JavaCompile) { 
    options.compilerArgs << "-XDenableSunApiLintControl" << "-Xlint:all" << "-Werror" << "-Xlint:-sunapi" 
} 
:

내 조정 Gradle을 구축 파일은 다음과 같습니다