Spring Boot项目用Gradle6.8.3构建提示与Gradle7.0不兼容怎么解决?
你的项目已经构建成功,所有提示均为警告类信息,不会影响项目的正常运行,各提示的含义和可选处理方案如下:
- 编译阶段的Note提示
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
这类是Java编译器的普通提示,说明代码中使用了官方已标记废弃的API,或者是泛型未做类型检查的操作,仅为提醒不是错误。如果需要定位具体问题代码,可以在项目的build.gradle配置文件中添加以下配置:
tasks.withType(JavaCompile) { options.compilerArgs += ['-Xlint:deprecation', '-Xlint:unchecked'] }
重新执行构建就会输出对应提示的具体代码位置,不需要处理的话可以忽略,不影响功能使用。
任务状态提示
你日志中出现的jar SKIPPED、compileTestJava NO-SOURCE、test NO-SOURCE这类提示都属于正常状态:jar SKIPPED是Spring Boot项目的默认逻辑,项目会优先生成可独立运行的bootJar包,普通Jar包任务会被自动跳过- 带
NO-SOURCE的任务是因为你当前项目中没有对应类别的源代码,比如没有编写单元测试代码,测试相关的任务就不会执行,无需处理
Gradle版本兼容提示
最后的废弃特性提示是说明项目当前使用的Gradle配置/插件中,包含了Gradle 7.0版本不再支持的特性,但你当前使用的是Gradle 6.8.3版本,完全可以正常运行,不需要做额外处理。如果后续计划升级到Gradle 7+,可以在执行构建命令时添加--warning-mode all参数,就能看到具体的不兼容配置点,提前调整即可。
内容的提问来源于stack exchange,提问作者Nirodha Wickramarathna

