【问题标题】:Gradle does nothing on distZip task from distribution pluginGradle 对分发插件中的 distZip 任务不执行任何操作
【发布时间】:2015-04-11 22:57:12
【问题描述】:

我对 Gradle 的分发插件有疑问。我只想使用该插件将我的所有文件捆绑在一起(jar,shell 脚本,...)。

这是我的 build.gradle:

apply plugin: 'eclipse'
apply plugin: 'maven-publish'
apply plugin: 'distribution'

sourceCompatibility = 1.7
targetCompatibility = 1.7


publishing {
    ... 
}

repositories {
    mavenCentral()
}

dependencies {
    // public libraries
    compile group: 'javax', name: 'javaee-api', version: '7.0'
    compile group: 'javax.mail', name: 'javax.mail-api', version: '1.5.2'
    compile group: 'commons-cli', name: 'commons-cli', version: '1.2'
    compile group: 'org.apache.axis', name: 'axis', version: '1.4'
    compile group: 'org.apache.axis', name: 'axis-jaxrpc', version: '1.4'
    compile group: 'commons-discovery', name: 'commons-discovery', version: '0.4'
    compile group: 'commons-logging', name: 'commons-logging', version: '1.1.1'
    compile group: 'wsdl4j', name: 'wsdl4j', version: '1.6.2'
    compile group: 'javax.xml.soap', name: 'saaj-api', version: '1.3'
    compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.10'

    runtime group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.2'

    // this is a dirty workaround
    // because I don't have deploy rights on artifactory and nobody has time for deploying my artifacts
    compile fileTree(dir: 'lib', include: '*.jar')
}

这里是输出:

$ ./gradlew distTar
Defaulting memory setting '-Xmx1024M'...
:distZip UP-TO-DATE

BUILD SUCCESSFUL

Total time: 2.44 secs

什么也没有发生。没有创建 Zip 文件。 我正在使用最新版本的 Gradle (2.2.1)

对我来说重要的是,我可以使用插件的 installDist 选项。

任何想法出了什么问题?

【问题讨论】:

  • 你检查过build目录下吗?

标签: gradle build.gradle


【解决方案1】:

我发现了问题所在:

distZip 不起作用,因为没有配置文件或库以打包到存档中。默认情况下,只考虑src/$distribution.name/dist。必须指定其余部分。

为了确保至少包含项目的 jar-File,我使用插件“java-library-distribution”而不是“distribution”

此外,我指定了更多要考虑的文件:

distributions {
    main {
        contents {
            from { 'distrib' }
        }
    }
}

【讨论】:

    【解决方案2】:

    如果您的$buildDir 为空,则必须配置分发:

    distributions {
        main {
            baseName = 'someName'
            contents {
                from { 'src/readme' }
            }
        }
    }
    

    另见https://gradle.org/docs/current/userguide/distribution_plugin.html

    【讨论】:

      猜你喜欢
      • 2013-10-26
      • 2021-03-14
      • 2022-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-30
      相关资源
      最近更新 更多