我尝试将以下内容添加到根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
我做错了什么?
答案 0 :(得分:206)
这对我有用: (在你的项目的build.gradle中)
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
}
答案 1 :(得分:49)
免责声明:尽管此答案有超过10个upvotes,但它并未解决 Android 项目中的问题。但是,谷歌在非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"
}
答案 2 :(得分:5)
将其放入您的 build.gradle 文件(根目录)中:
allprojects { // Projects
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
}
答案 3 :(得分:3)
我有一个不同的编译参数来设置。以下适用于我。
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-XDignore.symbol.file"
options.bootClasspath = "$System.env.JAVA_HOME/jre/lib/rt.jar"
}
}
您必须为不安全和sun.swing。*类之类的东西设置JDK 1.8及更高版本的引导类路径。修复源代码特别针对后者,因为Jigs的Jigsaw Java 9将最终使这些方法无法访问(!)。考虑自己警告。
答案 4 :(得分:0)
我不确定问题是否与使用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"
答案 5 :(得分:0)
对于使用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"
}
}
答案 6 :(得分:0)
要弃用,您现在可以在gradle kotlin脚本中使用它,这比修改GET /_search
{
"query": {
"query_string": {
"query": "activityOwnerId:(id1 OR id2 OR id3...)"
}
}
}
更好,因为它是类型安全的:
compilerArgs