gradle-osgi捆绑包的NoClassDefFoundException

问题描述

我不确定此错误是否特定于PMD扫描工具。我在PMD执行期间不断收到NoClassDefFoundException。这是我的项目结构。

build.gradle
pmd.gradle

bundles/bundle1/src/**.java
bundles/bundle2/src/**.java
bundles/bundle3/src/**.java
.....
bundles/bundle200/src/**.java

所有Java源文件都在“ src”目录下。

build.gradle-它不包含太多内容

buildscript {
    repositories {
        mavenCentral()
        jcenter()
        smartbowLibs()
    }
}

这是我的pmd.gradle-它定义了PMD规则和报告位置。

subprojects {
apply plugin: 'pmd'
pmd {
    consoleOutput = true
    toolVersion = "6.21.0"
    reportsDir = file("pmd/reports")
    ruleSets = ["${sbDir}/MyJavaRules.xml"]
    ignoreFailures = true
}
tasks.withType(Pmd) {
    configureForSourceSet = file('../bundles/**/*.class')
}

与'NoClassDefFoundException'相关的所有文件都在其他捆绑包的src目录中。我认为PMD仅扫描源文件。我不确定为什么它会查找未明确引用的类。

但是,当我仅使用PMD命令行工具(https://pmd.github.io/)而不使用gradle时,它可以正常工作。它会按预期生成报告,但我需要将其与gradle集成。

如果需要更改,请提供一些提示

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)