【问题标题】:how to setup error prone with gradle (getting various errors)如何使用 gradle 设置容易出错(出现各种错误)
【发布时间】:2019-07-10 17:11:57
【问题描述】:

我正在尝试使用 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 构建文件没有任何与容易出错相关的迹象。
  • 但是鉴于插件的最新版本是0.8.1,我并不奇怪它找不到2.3.3版本。
  • 好的,所以您使用的是 2.3.3 版本的插件,但最新版本是 0.8.1。并且版本开头缺少双引号,导致构建文件不正确。
  • 啊抱歉,现在添加,我尝试了 0.8.1 并得到了 Could not find com.google.errorprone:error_prone_core:0.8.1. Searched in the following locations: - https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_core/0.8.1/error_prone_core-0.8.1.pom - https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_core/0.8.1/error_prone_core-0.8.1.jar Required by: project : 还尝试了 latest.release 的版本号并得到了原始错误(除了 2.3.3 被交换为 latest.release在错误消息中)
  • 你需要意识到这里涉及到两个不同的版本:com.google.errorprone:error_prone_core(2.3.3)的版本,以及errorprone gradle插件的版本(net.ltgt.容易出错):0.8.1。不要对两者使用相同的版本,因为它们是不同的东西。

标签: java gradle errorprone


【解决方案1】:

如下解决

  1. 将 Gradle 插件添加到 build.gradle 文件中
plugins {
    id("net.ltgt.errorprone") version "1.1.0"
}

Release versions

  1. 在 build.gradle 文件中添加对 error_prone_core 的依赖
dependencies {
    errorprone("com.google.errorprone:error_prone_core:2.3.3")
}

Releases
3.构建项目,这将添加errorprone配置命名空间
4. 如果你使用的是java-8,还需要添加额外的依赖。

errorproneJavac("com.google.errorprone:javac:9+181-r4173-1")

以及步骤 2 中的依赖关系。
5.你可以通过任务customize/enable/disable

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 有不同的版本和独立的发布周期。

我的 build.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
}

Ref

Github-error-prone

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-07
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    • 1970-01-01
    • 2012-09-01
    • 2020-12-26
    • 1970-01-01
    相关资源
    最近更新 更多