我正在尝试使用 gradle 设置容易出错的设置,但是我尝试过的所有内容都给了我某种错误:
为了测试,我使用 gradle 设置了一个简单的 hello world java 程序,该程序没有容易出错的编译效果很好。然后我读到:https://github.com/tbroyer/gradle-errorprone-plugin从安装指南中找到并在build.gradle中尝试了这个:
plugins {
id 'java'
id("net.ltgt.errorprone") version "2.3.3"
}
group 'test'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
errorprone("com.google.errorprone:error_prone_core:2.3.3")
}
这给了我这个错误:
Plugin [id: 'net.ltgt.errorprone', version: '2.3.3'] was not found in any of the following sources:
Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
Plugin Repositories (could not resolve plugin artifact 'net.ltgt.errorprone:net.ltgt.errorprone.gradle.plugin:2.3.3')
Searched in the following repositories:
Gradle Central Plugin Repository
我将2.3.3
更改为latest.version
并得到相同的错误
然后我找到了这个 https://plugins.gradle.org/plugin/net.ltgt.errorprone 并尝试了版本号0.8.1。我需要能够使用 java11,所以据我所知不能使用 gradle 4.x。
另外,如果有人知道一个实际的存储库使用了容易出错的gradle,我可以看看,我将不胜感激:)
我的 gradle 包装器属性设置为使用 gradle 版本 5.4.1
解决如下
- 将 Gradle 插件添加到 build.gradle 文件
plugins {
id("net.ltgt.errorprone") version "1.1.0"
}
发布版本
- 将依赖项添加到 build.gradle 文件中的
error_prone_core
dependencies {
errorprone("com.google.errorprone:error_prone_core:2.3.3")
}
释放
3. 构建项目,这将添加errorprone
配置命名空间
4. 如果您使用的是 java-8,还需要添加额外的依赖项。
errorproneJavac("com.google.errorprone:javac:9+181-r4173-1")
以及步骤 2 中的依赖项。
5.您可以按任务自定义/启用/禁用它
tasks.withType(JavaCompile).configureEach {
options.errorprone.disableWarningsInGeneratedCode = true
options.errorprone.enabled = false // change it to true to enable
}
注意:正如 @jb-nizet 在 OP 评论中提到的,gralde 插件和 error_prone_core 有不同的版本和独立的发布周期。
我的构建.gradle 文件
buildscript {
ext{
errorproneVersion = '2.3.3'
}
repositories {
mavenLocal()
mavenCentral()
}
}
plugins {
id "java"
id("net.ltgt.errorprone") version "1.1.0"
}
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
errorprone("com.google.errorprone:error_prone_core:$errorproneVersion")
errorproneJavac("com.google.errorprone:javac:9+181-r4173-1")
}
tasks.withType(JavaCompile).configureEach {
options.errorprone.disableWarningsInGeneratedCode = true
options.errorprone.enabled = false
}
裁判
Github-Error-prone (Github-error-easy-cept(