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

Java项目部署至Maven Central后注解消失,请求技术支持

解决Maven Central部署后注解/注释消失的问题

核心原因

你看到的反编译内容,说明中央仓库里只上传了编译后的.class文件,没有上传源文件包(sources.jar)和文档包(javadoc.jar)。本地执行mvn clean install时IDE直接读取本地源码,所以注解和注释都在;但部署到中央仓库后,导入依赖时只能拿到class文件,IDE只能通过反编译显示内容,自然丢失注解和注释。

解决步骤

1. 配置Maven插件生成sources和javadoc包

在项目的pom.xml中添加以下插件配置,确保部署时自动生成并上传源文件和文档包:

<build>
    <plugins>
        <!-- 生成包含源码的sources.jar -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.3.0</version>
            <executions>
                <execution>
                    <id>attach-sources</id>
                    <goals>
                        <goal>jar-no-fork</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <!-- 生成包含文档的javadoc.jar -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>3.6.0</version>
            <executions>
                <execution>
                    <id>attach-javadocs</id>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
            <!-- 可选:解决中文注释、无效标签导致的Javadoc编译报错 -->
            <configuration>
                <encoding>UTF-8</encoding>
                <additionalparam>-Xdoclint:none</additionalparam>
            </configuration>
        </plugin>
    </plugins>
</build>

2. 检查部署配置

确认Maven的settings.xml中server配置、项目pom.xml的distributionManagement配置正确,确保部署流程会自动上传所有附属包(sources、javadoc、pom等)。

3. 重新部署

执行mvn clean deploy重新部署,之后到Maven Central仓库查看你的构件,应该能看到以下文件:

  • your-artifact-版本号.jar(编译后的class文件)
  • your-artifact-版本号-sources.jar(完整源码包)
  • your-artifact-版本号-javadoc.jar(文档包)
  • your-artifact-版本号.pom(项目配置文件)

4. 验证导入效果

重新从Maven Central导入依赖,IDE会自动下载sources.jar,此时查看源码就能看到完整的注解和注释了。

额外注意点

  • 如果项目使用Lombok这类注解处理器,要确保maven-compiler-plugin的annotationProcessorPaths配置正确,保证编译后的class文件保留注解信息。
  • 若使用maven-release-plugin发布,需确认插件配置未跳过sources和javadoc的生成步骤。

内容的提问来源于stack exchange,提问作者함승혁

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 20:52:46