使用 maven-javadoc-plugin 打包时报错:未知标记 date
原创2020/7/25大约 1 分钟
使用 maven-javadoc-plugin 打包时报错:未知标记 date
1、问题背景
在 Spring Boot 工程中,使用了 maven 的 maven-javadoc-plugin 插件,在打包时发生错误,错误信息如下:
Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.2.0:jar (default) on project jefw-util: MavenReportException: Error while generating Javadoc:
Exit code: 1 - E:\Workspace\idea\jefw\jefw-util\src\main\java\com\jastarwang\jefw\util\ColorUtil.java:20: ����: δ֪���: date
* @date 2020/07/18
^
E:\Workspace\idea\jefw\jefw-util\src\main\java\com\jastarwang\jefw\util\SerializeUtil.java:20: ����: δ֪���: date
* @date 2020/07/18
Command line was: cmd.exe /X /C "D:\DevTools\java-1.8.0-openjdk\jre\..\bin\javadoc.exe @options @argfile"
Refer to the generated Javadoc files in 'E:\Workspace\idea\jefw\jefw-util\target\apidocs' dir.2、错误原因
在jdk1.8及以上版本时,maven-javadoc-plugin 插件会对代码中的doc注释进行语法规范检查,当有不能识别的doc注解(如:@date)或者注释中缺少对某些参数的描述......原因时,将会抛出错误。
3、解决方案
通过配置来关闭doc的检查机制,这样只会在打包的时候抛出warning
3.1、方式一
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.0-M1</version>
<configuration>
<!-- jdk1.8+要加上,1.7要去掉,否则会报错 -->
<additionalJOptions>
<additionalJOption>-Xdoclint:none</additionalJOption>
</additionalJOptions>
</configuration>
</plugin>3.2、方式二(推荐)
配置profiles节点:
<profiles>
<!-- 在jdk1.8+环境下启用该参数 -->
<profile>
<id>disable-javadoc-doclint</id>
<activation>
<jdk>[1.8,)</jdk>
</activation>
<properties>
<javadoc.opts>-Xdoclint:none</javadoc.opts>
</properties>
</profile>
</profiles>配置plugin节点:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<!-- 附加配置:关闭JavaDoc的检查 -->
<configuration>
<additionalOptions>
<additionalOption>${javadoc.opts}</additionalOption>
</additionalOptions>
</configuration>
</plugin>
