Я получаю NoClassDefFoundError
во время выполнения задания PMD через Gradle.Получение NoClassDefFoundError во время работы задачи PMD из Gradle
У меня есть pmd-5.1.1.jar
, commons-io-1.4.jar
, а также все остальные jars
в каталоге WebContent/WEB-INF/lib
. Мои ява файлы находятся в каталоге src\com\company\project
Gradle файл сборки
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'pmd'
sourceSets.main.java.srcDirs = ['src']
webAppDirName = 'WebContent'
repositories {
flatDir { dirs "WebContent/WEB-INF/lib" }
}
dependencies {
providedCompile fileTree(dir: "WebContent/WEB-INF/lib", include: '*.jar')
}
war {
archiveName "ROOT.war"
}
Журнал ошибок
C:\MyWorkspace\MyProject>gradle build
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:war UP-TO-DATE
:assemble UP-TO-DATE
:pmdMain FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':pmdMain'.
> java.lang.NoClassDefFoundError: org/apache/commons/io/IOUtils
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.
BUILD FAILED
Total time: 5.275 secs
Это первый раз, когда я пытаюсь Gradle. Я могу строить, а также генерировать WAR, но PMD терпит неудачу. Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно? Заранее спасибо :)
Да, в этом была проблема. Вы не должны устанавливать зависимости в 'WEB-INF/lib'. – Opal