Gradle vs Maven。使用java的行为不推荐使用的API用法

问题描述 投票:0回答:1

我有一个使用Maven作为构建工具的大项目。它执行install操作约30分钟。我决定搬到Gradle,因为它被认为是更快的建筑工具。但我在compileJava任务面临一个问题,看起来像下一个:

[ERROR] [system.err] Note: /home/user/IdeaProjects/SomeClass.java uses or overrides a deprecated API.

在此类错误发生后,Gradle停止构建过程,但Maven成功完成了install操作。

那么,我的问题是有办法摆脱这种Gradle行为吗?

java maven gradle
1个回答
2
投票

默认情况下,Java编译器不会将弃用警告视为编译错误。 Gradle中的Java插件遵循相同的默认值,因此您必须对其进行配置才能执行此操作。简而言之,在你的构建中的某个地方,javac可以选择-Werror

它可能看起来像:

compileJava {
  options.compilerArgs += ['-Werror']
}

如果您不希望构建在编译器警告时失败,则需要从配置中删除此选项。

© www.soinside.com 2019 - 2024. All rights reserved.