【问题标题】:Gradle: Adding sources.jar file within /lib folder of published dist.zip along with all my other dependenciesGradle:在已发布的 dist.zip 的 /lib 文件夹中添加 sources.jar 文件以及我的所有其他依赖项
【发布时间】:2015-09-04 20:21:15
【问题描述】:

我有一个使用 gradle 构建的 java 项目。我正在为我的项目发布一个 dist.zip 文件夹,并且我想将我的项目的 sources.jar 添加到 dist.zip 中的 /lib 子文件夹。我能够与我的 dist.zip 文件一起创建一个 sources.jar 文件,但我不确定如何在 dist.zip 中添加 sources.jar。我怎样才能做到这一点?我试图在创建它后将 .jar 复制到 /lib 文件夹中,但我无法让它工作。下面是我的 gradle.build 脚本中的发布和 sourcesJar 任务。

task sourcesJar(type: Jar, dependsOn: classes) {
    classifier = 'sources'
    from sourceSets.main.allSource
}

publishing {

    repositories {  
        maven {
            url 'localfolder'
        }
    }

    publications {

        maven(MavenPublication) {
            groupId 'ca.project'
            artifactId applicationName
            version version

            from components.java

            artifact sourcesJar {
                classifier "sources"
            }

            artifact distZip {
                classifier "dist"
            }
        }

    }
}

【问题讨论】:

    标签: java maven jar gradle


    【解决方案1】:

    您需要告诉application plugin 在分发中包含您的sourcesJar 任务的输出:

    distributions {
        main {
            contents {
                from sourcesJar
            }
        }
    }
    

    这会将它放在根目录中,如果你想要它在其他地方,你可以这样做:

    distributions {
        main {
            contents {
                from(sourcesJar) {
                    into "lib"
                }
            }
        }
    }
    

    【讨论】:

    • 谢谢!那行得通。正是我想要的。
    • 好,那你可以accept我的回答吗? =)
    猜你喜欢
    • 1970-01-01
    • 2019-06-30
    • 1970-01-01
    • 2015-05-27
    • 2014-04-23
    • 2013-06-01
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多