Gradle升级到6.7导致spotbug问题
我正在升级到Gradle 6.7 我跟踪并更新了Gradle以选择6.7。这给了我一些关于spotbug的错误,所以我更新了buildScript中的spotbug版本,如下所示Gradle升级到6.7导致spotbug问题,gradle,gradle-plugin,spotbugs,gradle6.7,Gradle,Gradle Plugin,Spotbugs,Gradle6.7,我正在升级到Gradle 6.7 我跟踪并更新了Gradle以选择6.7。这给了我一些关于spotbug的错误,所以我更新了buildScript中的spotbug版本,如下所示 buildscript { dependencies { . . classpath 'gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:4.6.0'
buildscript {
dependencies {
.
.
classpath 'gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:4.6.0'
.
.
}
}
正如我建议的那样,我补充说
dependencies {
spotbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.10.1'
spotbugs 'com.github.spotbugs:spotbugs:4.0.0'
}
和更新
spotbugs {
toolVersion = "4.1.4"
}
在此之后,我开始出现以下两个错误
1。评估脚本时出现问题。有一个名为“SourceSet”的扩展名已注册。您不应该通过属性设置器重新分配它。
在my.gradle文件中,源集被设置为
spotbugs {
toolVersion = "4.1.4"
sourceSets = [sourceSets.main, sourceSets.test, sourceSets.integrationTest]
}
原因:org.gradle.api.tasks.taskInstanceException:无法创建“SpotBugsTask”类型的任务。
位于org.gradle.api.internal.project.taskfactory.taskfactory$1.call(taskfactory.java:97)
位于org.gradle.api.internal.project.taskfactory.taskfactory$1.call(taskfactory.java:84)
位于org.gradle.util.GUtil.uncheckedCall(GUtil.java:442)
位于org.gradle.api.internal.AbstractTask.InjectInNewInstance(AbstractTask.java:201)
位于org.gradle.api.internal.project.taskfactory.taskfactory.create(taskfactory.java:84)
位于org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory.create(AnnotationProcessingTaskFactory.java:48)
位于org.gradle.api.internal.tasks.DefaultTaskContainer.createTask(DefaultTaskContainer.java:326)
位于org.gradle.api.internal.tasks.DefaultTaskContainer.access$200(DefaultTaskContainer.java:77)
位于org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.createDomainObject(DefaultTaskContainer.java:701)
位于org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.createDomainObject(DefaultTaskContainer.java:658)
位于org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.tryCreate(DefaultNamedDomainObjectCollection.java:941)
... 184多
原因:java.lang.NoSuchMethodError:'java.lang.Object org.gradle.util.DeprecationLogger.whileDisabled(org.gradle.internal.Factory)'
在com.github.spotbugs.SpotBugsTask.createReports上(SpotBugsTask.java:102)
位于com.github.spotbugs.SpotBugsTask.(SpotBugsTask.java:98)
在com.github.spotbugs.SpotBugsTask(来源不详)
位于java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
位于java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
位于org.gradle.internal.instantiation.generator.AsmBackedClassGenerator$InvokeConstructorStrategy.newInstance(AsmBackedClassGenerator.java:1969)
位于org.gradle.internal.instantiation.generator.AbstractClassGenerator$GeneratedClassImpl$GeneratedConstructorImpl.newInstance(AbstractClassGenerator.java:468)
位于org.gradle.internal.instantiation.generator.DependencyInjectingStantiator.doCreate(DependencyInjectingStantiator.java:64)
位于org.gradle.internal.instantiation.generator.DependencyInjectingStantiator.newInstanceWithDisplayName(DependencyInjectingStantiator.java:50)
位于org.gradle.api.internal.project.taskfactory.taskfactory$1.call(taskfactory.java:90)
... 194多
修复这些错误有什么帮助吗?您不能再使用
sourceset
属性了。最好重构到
spotbugs {
toolVersion = "4.1.4"
}
spotbugsTest {
enabled = false
}
更多信息:您不能再使用
sourceset
属性。最好重构到
spotbugs {
toolVersion = "4.1.4"
}
spotbugsTest {
enabled = false
}
更多信息: