打包Maven公共模块项目的JavaDoc和源码

Posted Neo Yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打包Maven公共模块项目的JavaDoc和源码相关的知识,希望对你有一定的参考价值。

抽取公共模块是为了将其编译成jar包提给其他人使用,相同的逻辑不用每个人实现一遍。公共模块代码可读性要求很高,为了方便用户使用,我们可以将公共模块的javadoc注释以及源码打包一并发布。

一、打包JavaDoc注解

在pom文件中增加打包javadoc的插件配置:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.10.4</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <aggregate>true</aggregate>
                    <charset>UTF-8</charset>
                    <docencoding>UTF-8</docencoding>
                </configuration>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <additionalparam>-Xdoclint:none</additionalparam>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

增加 -Xdoclint:none配置是因为有一部老代码不符合javadoc规范,打包时忽略。

二、打包源码文件

在pom文件中增加打包源码文件的插件:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.0.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

配置完后用mvn命令打包可以看到生成的jar包:

三、用户下载javadoc和源码

在客户端程序的pom文件中增加如下配置,就可以将javadoc和source的包下到本地:

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <classifier>javadoc</classifier>
            <version>1.2.31</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <classifier>sources</classifier>
            <version>1.2.31</version>
        </dependency>

以上是关于打包Maven公共模块项目的JavaDoc和源码的主要内容,如果未能解决你的问题,请参考以下文章

maven项目打包和编译跳过单元测试和javadoc

Java笔记-Maven项目中引入公共模块及打包

maven cmd多模块项目,打包某个模块的jar

maven 打包包含sources源码和doc文档

maven 打包包含sources源码和doc文档

mvn打包源码的方法:maven-source-plugin