微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

gradle-osgi捆绑包的NoClassDefFoundException

如何解决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 举报,一经查实,本站将立刻删除。