Не удается развернуть локально, используя плагин Cargo для Gradle
У меня возникли некоторые проблемы при развертывании приложения Java с помощью плагина Cargo для Gradle.
Я пытался добавить в качестве зависимостей обнаружение и отслеживание общего пользования, но это не сработало.
:build
:copyWarToTomcat
:removeSymLinks
:removeExplodedWar UP-TO-DATE
:cargoRunLocal FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':cargoRunLocal'.
> Could not create type cargo due to java.lang.NoClassDefFoundError: org/apache/commons/discovery/resource/ClassLoaders
* Try:
Run with --info or --debug option to get more log output.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':cargoRunLocal'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
BUILD FAILED
Это зависимость от груза в моем build.gradle:
dependencies {
classpath 'com.bmuschko:gradle-cargo-plugin:2.1.1'
}
И это localDeploy.gradle, где я добавил конфигурацию Cargo:
apply plugin: 'com.bmuschko.cargo'
cargo {
containerId = 'tomcat7x'
local {
installer {
installUrl = 'https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.67/bin/apache-tomcat-7.0.67.zip'
downloadDir = file("$buildDir/download")
extractDir = file("$buildDir/extract")
}
}
}
2 ответа
Убедитесь, что зависимости являются переходными, если у вас есть ниже, сделайте его более конкретным
configurations.all {
transitive = false
}
пример
configurations.compile {
transitive = false
}
Таким образом, Gradle загрузит все зависимости для груза
Кажется, обычный файл JAR обнаружения не загружен должным образом.
Я думаю, вы должны включить org.gradle.debug=true
в gradle.properties
и попробуйте отладить его - если установлено значение true, Gradle будет запускать сборку с включенной удаленной отладкой, прослушивая порт 5005. Обратите внимание, что это эквивалентно добавлению -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 к командной строке JVM и будет приостанавливать работу виртуальной машины, пока не будет подключен отладчик.