gpt4 book ai didi

gradle - 带有 JacocoPluginExtension 的 NullPointerException

转载 作者:行者123 更新时间:2023-12-04 03:42:39 26 4
gpt4 key购买 nike

我正在使用最新的 gradle (6.8) 在 Azure DevOps 中运行一个构建,我得到了 NPE:

Caused by: java.lang.NullPointerException
at org.gradle.testing.jacoco.plugins.JacocoPluginExtension.applyTo(JacocoPluginExtension.java:162)
at org.gradle.testing.jacoco.plugins.JacocoPluginExtension$applyTo.call(Unknown Source)
at org.akhikhl.gretty.StartBaseTask.initJacoco(StartBaseTask.groovy:156)
at org.akhikhl.gretty.StartBaseTask.<init>(StartBaseTask.groovy:41)
at org.akhikhl.gretty.AppStartTask.<init>(AppStartTask.groovy)
at org.akhikhl.gretty.AppStartTask_Decorated.<init>(Unknown Source)

我在 build.gradle 中有这样的配置:

buildscript {
repositories {
mavenCentral()
}
}

repositories {
mavenCentral()
}

apply plugin: 'java'
apply plugin: 'jacoco'

group = '*****'
version = '1.0-SNAPSHOT'

sourceCompatibility = 1.8
targetCompatibility = 1.8

dependencies {
// my deps
}

test {
maxParallelForks = 1
finalizedBy jacocoTestReport
}

jacocoTestReport {
dependsOn test
}

jacoco {
toolVersion = "0.8.6"
}

我在 Azure DevOps 管道中有这样的配置:

- task: Gradle@2
displayName: 'Build and run unit tests'
inputs:
gradleWrapperFile: project-name/gradlew
workingDirectory: project-name
testResultsFiles: 'project-name/build/test-results/test/TEST-*.xml'
sonarQubeRunAnalysis: true
sonarQubeGradlePluginVersion: 2.6.2

知道为什么会这样吗?

最佳答案

从堆栈跟踪可以看出,NullPointerException 在 Gretty 插件尝试配置 JaCoCo 插件时发生。

Gradle 的发展速度非常快,API 通常会在至少一个主要版本之后被弃用和删除(例如,在 5.0 中弃用并在 6.0 中删除)。 buildscript 和插件作者通常需要大约一到两年的时间来对这些弃用使用react。

虽然您没有提及,但我很确定您使用的 original Gretty plugin 已超过三年。 :

enter image description here

至少我可以使用该版本重现问题和相同的堆栈跟踪。

虽然它看起来像是几年前就被遗弃了,但事实并非如此。相反,该插件已 fork 并且 moved to a new namespace (从 org.akhikhl.grettyorg.gretty):

enter image description here

甚至还有一个bug report描述 NullPointerException 问题(一直追溯到 Gradle 4.6)。

因此要修复它,请将 Gretty 插件 ID 更改为新的命名空间并使用最新版本:

plugins {
id "org.gretty" version "3.0.3"
}

关于gradle - 带有 JacocoPluginExtension 的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65687892/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com