配置Gradle以发布源和javadoc

如何配置Gradle将源和javadoc jar发布到存储库?

将以下代码添加到构建脚本:

task packageJavadoc(type: Jar, dependsOn: 'javadoc') { from javadoc.destinationDir classifier = 'javadoc' } task packageSources(type: Jar, dependsOn: 'classes') { from sourceSets.main.allSource classifier = 'sources' } artifacts { archives packageJavadoc archives packageSources } 

使用Gradle 1.10测试

2017年,Gradle 4.0版:

 apply plugin: 'maven' apply plugin: 'maven-publish' publishing { publications { mavenJava(MavenPublication) { from components.java artifact sourceJar artifact packageJavadoc } } } javadoc { source = sourceSets.main.allJava classpath = configurations.compileClasspath options { setMemberLevel JavadocMemberLevel.PUBLIC setAuthor true links "https://docs.oracle.com/javase/8/docs/api/" } } task sourceJar(type: Jar) { classifier = 'sources' from sourceSets.main.allJava } task packageJavadoc(type: Jar) { from javadoc classifier = 'javadoc' } 

使用gradle publishgradle publishToMavenLocal

Paolo Fulgoni的答案过去一直有效,直到我将Gradle版本升级到3.1。 为了让packageJavadoc Task与Gradle 3.1一起工作,我发现我必须对它做一点调整,如下所示:

 task packageJavadoc(type: Jar) { from javadoc classifier = 'javadoc' }