如何用Dokka生成Javadoc Jar用于仓库上传?Dokka能否集成Maven Release插件?
当然可以集成!这里是亲测有效的配置方案
我之前帮不少迁移到Kotlin的开发者解决过这个问题——核心是让Dokka生成Nexus认可的标准javadoc.jar,并把它绑定到Maven Release的执行流程里。下面是具体步骤:
1. 配置Dokka Maven插件生成Javadoc Jar
在你的pom.xml的<build><plugins>区块中添加Dokka插件,用它的javadocJar目标直接生成并附加符合要求的文档Jar:
<plugin> <groupId>org.jetbrains.dokka</groupId> <artifactId>dokka-maven-plugin</artifactId> <version>1.8.20</version> <!-- 建议使用最新稳定版 --> <executions> <execution> <id>attach-javadoc</id> <phase>prepare-package</phase> <!-- 绑定到打包前的生命周期阶段 --> <goals> <goal>javadocJar</goal> <!-- 自动生成javadoc.jar并关联到项目构件 --> </goals> </execution> </executions> <configuration> <outputFormat>javadoc</outputFormat> <!-- 生成标准Javadoc结构,让Nexus识别 --> </configuration> </plugin>
2. 确保Maven Release插件触发完整流程
默认情况下,Maven Release插件的release:perform会执行deploy目标,而deploy依赖于package阶段——我们已经把Dokka绑定到prepare-package,所以会自动触发。如果你的项目有特殊配置,可以显式指定Release插件的执行目标:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>3.0.0</version> <configuration> <goals>deploy</goals> <phase>deploy</phase> </configuration> </plugin>
3. 本地验证配置
在正式执行Release前,先本地测试确保一切正常:
- 执行
mvn clean package,检查target目录下是否生成了[你的构件名]-[版本号]-javadoc.jar - 执行
mvn release:prepare -DdryRun=true,查看日志确认Dokka的文档生成步骤被触发
这样配置后,Maven Release插件在发布时就会自动调用Dokka生成符合要求的Javadoc Jar,上传到oss.sonatype.com后,Nexus就不会因为缺少文档Jar而拒绝发布了。
内容的提问来源于stack exchange,提问作者kocka
相关产品推荐
相关产品推荐

