루트 build.gradle
파일에 다음을 추가하려고했습니다 .
subprojects {
gradle.projectsEvaluated {
tasks.withType(Compile) {
options.compilerArgs << "-Xlint:unchecked -Xlint:deprecation"
}
}
}
그러나 나는 이것을 얻고있다 :
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':Libraries:ActionBarSherlock:compileRelease'.
> invalid flag: -Xlint:unchecked -Xlint:deprecation
내가 뭘 잘못하고 있죠?
답변
이것이 나를 위해 일한 것입니다 : (프로젝트의 build.gradle에서)
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
}
답변
면책 조항 : 이 답변에 10 개 이상의 투표가 있지만 Android 프로젝트 의 맥락에서 문제를 해결하지는 않습니다 . 그러나 Google은 Android 이외의 프로젝트와 관련하여이 질문을 찾습니다. 따라서 나는 그 사람들을 위해이 답변을 유지합니다.
JavaCompile 에 따르면 다음은 해결책 인 것 같습니다.
compileJava {
options.encoding = 'UTF-8'
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
테스트 케이스에 사용하려면 다음을 사용하십시오. compileTestJava
compileTestJava {
options.encoding = 'UTF-8'
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
답변
이것을 build.gradle 파일 (루트 디렉토리) 에 넣으십시오 .
allprojects { // Projects
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
}
답변
gradle.kts
다음을 사용하여 모든 사람들 이 간단한 것과 일치하도록하십시오.build.gradle
파일
build.gradle.kts
afterEvaluate {
tasks.withType(JavaCompile::class) {
options.compilerArgs.add("-Xlint:unchecked")
options.compilerArgs.add("-Xlint:deprecation")
}
}
build.gradle
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
답변
다른 컴파일 인수를 설정했습니다. 다음은 나를 위해 작동합니다.
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-XDignore.symbol.file"
options.bootClasspath = "$System.env.JAVA_HOME/jre/lib/rt.jar"
}
}
Unsafe 및 sun.swing. * 클래스와 같은 항목의 경우 JDK 1.8 이상의 부트 클래스 경로를 설정해야합니다. JRE를위한 최신 모듈 식 구현 인 Jigsaw Java 9가 결국 이러한 메소드에 액세스 할 수 없게되므로 소스 코드를 특히 후자를 수정하십시오 (!). 자신에게 경고를 고려하십시오.
답변
Gradle subprojects
구성 매개 변수를 사용하는 데 문제가 있는지 확실하지 않지만 사용한 구문은 다음과 같습니다.
options.compilerArgs << "-Xlint:unchecked -Xlint:deprecation"
이것은 나를 위해 일했다 :
subprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs += [
'-Xlint:unchecked', // Shows information about unchecked or unsafe operations.
'-Xlint:deprecation', // Shows information about deprecated members.
]
}
}
}
또는
subprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
}
하나의 옵션 만 추가하려면 (일반적으로 더 추가) 작업 내에 다음 JavaCompile
을 추가하면됩니다.
options.compilerArgs << "-Xlint:unchecked"
린트에 대한 자세한 내용은 여기 및 여기를 참조하십시오. .