You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:24:32