无法为参数找到方法cargo()

时间:2016-01-20 05:04:27

标签: gradle cargo

我正试图用gradle货物向tomcat部署战争,我收到错误找不到方法货物()

  

C:\ Users \ naresh.vatsal \ workspace_spring_jan14 \ SpringMvcUsingGradle> gradle build

     

失败:构建因异常而失败。

     

其中:   构建文件' C:\ Users \ naresh.vatsal \ workspace_spring_jan14 \ SpringMvcUsingGradle \ build.gradle'行:45

     

出了什么问题:   在评估根项目&#SpringSvcUsingGradle'。

时出现问题      

无法在根项目' SpringMvcUsingGradle'上找到参数[build_3gitu3al50b7kv8zi1ebj3qsr $ runclosure3 @ 302aa00f]的方法货物()。

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'war'
apply plugin: 'com.bmuschko.tomcat-base'
apply plugin: 'com.bmuschko.cargo-base'
ext.tomcatVersion = '7.0.67'

sourceCompatibility = 1.7

buildscript {

    repositories {
        maven {
            url "https://plugins.grdev.net/m2/"
        }
    }

    dependencies {
        classpath "com.bmuschko:gradle-tomcat-plugin:2.2.4"
        classpath 'com.bmuschko:gradle-cargo-plugin:2.2'
    }
}

repositories {
    mavenCentral()
}

dependencies {

    def cargoVersion = '1.4.5'
    cargo "org.codehaus.cargo:cargo-core-uberjar:$cargoVersion",
          "org.codehaus.cargo:cargo-ant:$cargoVersion"
    compile 'org.springframework:spring-context:4.0.0.RELEASE'
    compile 'org.springframework:spring-webmvc:4.0.0.RELEASE'
    compile 'org.aspectj:aspectjrt:1.7.4'
    compile 'javax.inject:javax.inject:1'
    compile 'javax.servlet:jstl:1.2'
    compile 'org.slf4j:slf4j-api:1.7.5'
    compile 'org.slf4j:jcl-over-slf4j:1.7.5'
    compile 'org.slf4j:slf4j-log4j12:1.7.5'
    compile 'log4j:log4j:1.2.15'
    testCompile 'junit:junit:4.7'
}

cargo {
    containerId = 'tomcat7x'
    port = 8080

    local {
        homeDir = file('C:/mdi/soft/apache-tomcat-7.0.67')
        output = file('C:/mdi/soft/apache-tomcat-7.0.67/output.log')
    }
}

war { 
    version = '' 
}

1 个答案:

答案 0 :(得分:1)

看来,你现在应用了错误的插件。只需改变:

apply plugin: 'com.bmuschko.cargo-base'

apply plugin: 'com.bmuschko.cargo'

因为,当您应用com.bmuschko.cargo-base插件时,您必须根据plugin description单独配置每项任务。

还有一个,没有属性output,可以在local闭包中定义,但是有一个outputFile属性,所以,你的local闭包应该是这样的:

local {
    homeDir = file('C:/mdi/soft/apache-tomcat-7.0.67')
    outputFile = file('C:/mdi/soft/apache-tomcat-7.0.67/output.log')
}