java - 如何使用 gradle 设置容易出错(出现各种错误)
问题描述
我正在尝试使用 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"
}
error_prone_core
在 build.gradle 文件中添加依赖项
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 具有不同的版本和独立的发布周期。
我的 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
}
推荐阅读
- python - 如何让 pyqt5 应用程序返回给定的输入
- linux - docker“/usr/share/nginx/html/cms/cms/favicon.ico”中的 nginx 失败(13:权限被拒绝)
- javascript - 如果从属对象是数组,React 是否会使用Memo 重新渲染?
- json - 在 MS Team Adaptive Card 中,我如何指定它发布到的服务器?
- go - 令人困惑,Go Routines 中的通道内这是什么
- security - Openwrt - 有没有办法确保您连接到正确的热点(证书等)
- oauth - 资源上不存在范围“allsites.write”
- flutter - NativeAd(google_mobile_ads) 未在发布模式下加载 - 如何解决?
- rust - Rust 编程语言书中缺少的片段
- testing - odoo 开发和生产实例