如何解决“找不到方法defaults()”?

时间:2019-08-14 09:30:10

标签: gradle

我使用gradle版本5.2.1。我有以下gradle.build:

jar {
    baseName = 'test-jar'
    version = '0.0.1'
    manifest {
        attributes(
                'Class-Path': configurations.compile.collect { it.getName() }.join(' '),
                'Implementation-Title': project.name,
                'Implementation-Version': project.version
        )
    }
}

artifactory {
    contextUrl = 'https://company.jfrog.io/repo'

    publish {
        repository {
            repoKey = 'maven-repo'
            username = ''
            password = ''
        }
    }
    defaults {
        publications('mavenJava')
    }
}
artifactoryPublish {
    dependsOn jar
}

publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
        }
    }
}

,当我尝试运行artifactoryPublish时,出现此异常:

  

找不到用于参数的方法defaults()   [build_9u5pvo7mijp1ik3gd8paa2ytp $ _run_closure4 $ _closure10 @ 21e4a36]   根项目“ TestProject”,类型为org.gradle.api.Project。

请帮助我解决此问题。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

选中the docdefaults方法应该在publish块的同一级别的repository方法内

artifactory {
      //....
      publish {
            repository {
                repoKey = 'maven-repo'
                username = ''
                password = ''
            }
            defaults {
               publications('mavenJava')
            }
      }
}