当前位置: 首页 > 编程笔记 >

Maven在Java8下如何忽略Javadoc的编译错误详解

公良鸿风
2023-03-14
本文向大家介绍Maven在Java8下如何忽略Javadoc的编译错误详解,包括了Maven在Java8下如何忽略Javadoc的编译错误详解的使用技巧和注意事项,需要的朋友参考一下

JavaDoc简介And基础知识

(一) Java注释类型

  • //用于单行注释。
  • /*...*/用于多行注释,从/*开始,到*/结束,不能嵌套。
  • /**...*/则是为支持jdk工具javadoc.exe而特有的注释语句。

说明:javadoc 工具能从java源文件中读取第三种注释,并能识别注释中用@标识的一些特殊变量(见表),制作成Html格式的类说明文档。javadoc不但能对一个 java源文件生成注释文档,而且能对目录和包生成交叉链接的html格式的类说明文档,十分方便。

(二)JavaDoc中出现的@字符及其意义:

1. 通用注释

注释中可以出现的关键字以@开始

意义

@author

作者名

@version

版本标识

@since

最早出现的JDK版本

@deprecated

引起不推荐使用的警告  

@see

交叉参考

2. 方法注释

@return

返回值

@throws

异常类及抛出条件

@param

参数名及其意义

引言

好了,介绍完一些基本的知识,下面开始本文的正文。

Java8对JavaDoc的语法检查非常严格,我在进行Maven编译发布项目到Maven Center的过程中,经常产生因为JavaDoc编译失败造成发布失败,但是很多情况下,都是一两个@param参数没有写全,@return没有写之类的问题,为此,我觉得非常有必要忽略这些异常。

问题描述

各位应该都知道发布一个Maven项目到Maven的中央仓库是必须要有JavaDoc,而我们在使用Maven JavaDoc plugin的过程中,一旦出现某些类似于此的问题:

Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.7:jar (attach-javadocs) on project [projectname]: MavenReportException: Error while creating archive:
Exit code: 1 - [path-to-file]:[linenumber]: warning: no description for @param

都会造成整个发布过程失败,解决办法一般是一个一个的把这些@param加上去,一两个还好,如果您的项目有成千上万个呢?

解决办法

直接修改Maven JavaDoc plugin的配置,忽略这些错误:

<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-javadoc-plugin</artifactId>
 <version>2.10.3</version>
 <executions>
 <execution>
 <id>attach-javadocs</id>
 <goals>
 <goal>jar</goal>
 </goals>
 <configuration> 
 <additionalparam>-Xdoclint:none</additionalparam>
 </configuration>
 </execution>
 </executions>
</plugin>

经过测试,忽略后项目可以正常发布,不会有什么影响。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对小牛知识库的支持。

 类似资料:
  • 问题内容: 我正在尝试使用Lombok Maven插件来确保在使用Lombok时正确创建Javadocs 。 在编译之前,Lombok Maven引入了一个新的代码生成目标。在我的配置中,我的(带有Lombok批注的Java )被处理以在中创建Java(没有Lombok批注)。 但是,其中的每个文件现在在中都有一个对应的文件(名称相同),由于类重复,导致编译失败。 如何告诉Java编译器忽略其中的

  • 我正在尝试使用Lombok Maven插件来确保在使用Lombok时正确创建Javadocs。 Lombok Maven在编译之前引入了一个新的代码生成目标。在我的配置中,将处理我的源目录(带有Lombok注释的Java,

  • 我无法编译/调试我们的Android应用程序,因为本地化文件还不完善。 我的IDE的验证工具Lint创建错误说: newCardsOrderVals不是在ar, bg, ca, cs中翻译的 使用Ant编译/安装/运行很好,但我希望使用IDE来简化调试。 有没有办法关闭这个特定的检查,或者理想情况下让它成为警告而不是错误? 我理解,在发布之前,我们确实需要正确地获取本地化文件,但目前这不是一个优先

  • 问题内容: 当我在Netbeans中构建并运行程序时,它可以正常工作。但是当我尝试“ mvn compile”时,使用相同的pom.xml文件会出现以下错误: 我的Java版本不是1.3,这里是“ mvn -version”的结果 这是第53行: 问题答案: 问题是在Maven2中默认使用和 您可以通过将其添加到pom中来解决此问题: 将其放在最顶层的父pom中是很实际的,这样您派生的pom不需要

  • 编译模块com。实例我的包裹。GWT。HelloGWT [INFO]验证新编译的单元 [INFO]在第一次过程中忽略了1个单元,其中包含编译错误 [INFO]编译时将-strict或-logLevel设置为TRACE或DEBUG以查看所有错误 [INFO]在文件:/home/ilsurih/Projects/maven hibernate/src/main/java/com/example/myP

  • 从事maven项目。我试图使用maven进行构建,但我遇到了以下错误!我正在使用JDK 8开发eclipse。 无法执行目标org.apache.maven.plugins:maven-compiler-plugin:2.3.2:编译(默认编译) 我也尝试了上面的解决方案,但我仍然得到错误!