Не удается развернуть локально, используя плагин 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 и будет приостанавливать работу виртуальной машины, пока не будет подключен отладчик.

Другие вопросы по тегам