格雷德尔对马文。java不推荐使用API的行为
我有一个使用Maven作为构建工具的大项目。它执行格雷德尔对马文。java不推荐使用API的行为,java,maven,gradle,Java,Maven,Gradle,我有一个使用Maven作为构建工具的大项目。它执行install操作约30分钟。我决定转到Gradle,因为它被认为是更快的构建工具。但我在compileJava任务中遇到了一个问题,看起来像下一个: [ERROR] [system.err] Note: /home/user/IdeaProjects/SomeClass.java uses or overrides a deprecated API. 出现此类错误后,Gradle停止构建过程,但Maven成功完成了install操作 那么,我
install
操作约30分钟。我决定转到Gradle,因为它被认为是更快的构建工具。但我在compileJava
任务中遇到了一个问题,看起来像下一个:
[ERROR] [system.err] Note: /home/user/IdeaProjects/SomeClass.java uses or overrides a deprecated API.
出现此类错误后,Gradle停止构建过程,但Maven成功完成了install
操作
那么,我的问题是,有没有办法摆脱这种Gradle行为 默认情况下,Java编译器不会将弃用警告视为编译错误。Gradle中的Java插件遵循相同的默认值,因此您必须对其进行配置。简而言之,在您的构建中,
javac
被赋予了选项-Werror
它可能看起来像:
compileJava {
options.compilerArgs += ['-Werror']
}
如果不希望生成因编译器警告而失败,则需要从配置中删除此选项。默认情况下,Java编译器不会将弃用警告视为编译错误。Gradle中的Java插件遵循相同的默认值,因此您必须对其进行配置。简而言之,在您的构建中,
javac
被赋予了选项-Werror
它可能看起来像:
compileJava {
options.compilerArgs += ['-Werror']
}
如果不希望生成因编译器警告而失败,则需要从配置中删除此选项。替换对不推荐使用的方法的调用。它们被弃用的原因是:您不应该使用它们。@VGR,我有数百万个代码字符串。不幸的是,这是一个大问题。编译器可以准确地显示出哪些行是问题所在。@VGR,我理解这一点,但我可能要花3年时间才能解决所有问题。是如何禁用android应用程序的弃用检查。它可能也适用于您。请替换对不推荐使用的方法的调用。它们被弃用的原因是:您不应该使用它们。@VGR,我有数百万个代码字符串。不幸的是,这是一个大问题。编译器可以准确地显示出哪些行是问题所在。@VGR,我理解这一点,但我可能要花3年时间才能解决所有问题。是如何禁用android应用程序的弃用检查。它可能也适用于您。我获取下一个
错误:找到警告并指定-Werror
我编辑我的答案,明确指出您必须找到该选项的传递位置并导致生成失败我获取下一个错误:找到警告并指定-Werror
我编辑我的答案,明确指出,您必须找到传递该选项的位置,并导致构建失败