當我們開發了一個公共子產品,将它deploy到Maven倉庫時,最好同時提供源碼包和Javadoc包,這樣使用者可以在IDE中直接進入該依賴的源碼檢視其實作的細節。
由于生成源碼包和Javadoc包是極其常見的需求,是以Maven官方提供了插件來幫助使用者完成這個任務 ,配置如下:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven-compiler-plugin.version>3.5.1</maven-compiler-plugin.version>
<maven-javadoc-plugin.version>2.10.4</maven-javadoc-plugin.version>
<maven-source-plugin.version>3.0.1</maven-source-plugin.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</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>${maven-javadoc-plugin.version}</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>${maven-source-plugin.version}</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原文位址:
http://blog.csdn.net/top_code/article/details/53586551