Maven打包生成源码包和Javadoc包

当我们开发了一个公共模块,将它deploy到Maven仓库时,最好同时提供源码包和Javadoc包,这样使用者可以在IDE中直接进入该依赖的源码查看其实现的细节。

由于生成源码包和Javadoc包是极其常见的需求,因此Maven官方提供了插件来帮助用户完成这个任务
,配置如下:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>${java.version}</source>
                <target>${java.version}</target>
                <testSource>${java.version}</testSource>
                <testTarget>${java.version}</testTarget>
            </configuration>
        </plugin>
        <!--配置生成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>
                </execution>
            </executions>
        </plugin>
        <!--配置生成源码包-->
        <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>
    </plugins>
</build>


在使用IDEA生成Java Doc的过程中,可能会出现IDEA控制台输出中文乱码,即使我们在maven-javadoc-plugin插件中指定字符集为UTF-8,依然是乱码,这是因为Maven的默认平台编码是GBK。

解决办法:
在IDEA中,打开File | Settings | Build, Execution, Deployment | Build Tools | Maven | Runner在VM Options中添加-Dfile.encoding=GBK,切记一定是GBK。

参考

Maven实战(九)——打包的技巧:http://www.infoq.com/cn/news/2011/06/xxb-maven-9-package

Maven 是一个流行的 Java 构建工具,用于自动化软件项目生命周期中的各个环节,括编译、测试、打包等。如果你想要为生产环境(也称为正式环境)生成一个 JAR ,你可以按照以下步骤操作: 1. **配置 Maven 仓库**:首先确保你的 `pom.xml` 文件中有正确的仓库设置,例如中央仓库(Maven Central Repository)或私有仓库,这将决定最终 JAR 被部署到哪里。 ```xml <repositories> <repository> <id>central</id> <url>https://repo1.maven.org/maven2/</url> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> ``` 2. **指定打包类型**:在 `<build>` 标签内,添加 `<plugins>` 部分来配置 Mavenmaven-jar-plugin,用于生成 JAR。默认情况下,maven-jar-plugin 创建的是一个开发阶段的 JAR(通常带有 sources 和 javadoc)。如果你想创建正式版本的 JAR,你需要设置 `<archive>` 属性,比如去除源码和文档: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifest> <!-- 添加其他Maven元数据如主类名 --> <mainClass>com.example.MainClass</mainClass> </manifest> <manifestEntries> <!-- 如果有额外的元数据,如版本号 --> <Implementation-Version>${project.version}</Implementation-Version> </manifestEntries> <addMavenDescriptor>false</addMavenDescriptor> <!-- 去除Maven描述符 --> <useDefaultManifestFile>true</useDefaultManifestFile> </archive> </configuration> </plugin> </plugins> </build> ``` 3. **运行构建命令**:在终端或者命令行中,导航到你的项目目录,然后执行 `mvn clean package -DskipTests -Dmaven.javadoc.skip=true`。这将会清空旧的构建结果,编译源码生成 JAR 并将其存放在 `target/` 目录下。`-DskipTests` 参数会让 Maven 忽略测试,`-Dmaven.javadoc.skip=true` 则跳过生成 javadoc,这些都是为了加快生产环境的部署速度。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值