Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
maven javadoc插件bug MJAVADOC-414有解决办法吗?_Java_Maven_Testing_Javadoc_Maven Javadoc Plugin - Fatal编程技术网

maven javadoc插件bug MJAVADOC-414有解决办法吗?

maven javadoc插件bug MJAVADOC-414有解决办法吗?,java,maven,testing,javadoc,maven-javadoc-plugin,Java,Maven,Testing,Javadoc,Maven Javadoc Plugin,当使用maven javadoc插件生成测试javadoc时,我突然收到多个错误,指出javadoc插件无法从我的主代码库中找到任何类。运行testjavadoc目标时,类路径仅包含src/test文件夹中的类;插件看不到来自src/main的类 此错误发生在maven javadoc插件版本2.10、2.10.1和2.10.2上。此错误是官方认可的错误MJAVADOC-414,您可以查看错误报告。官方的bug报告列出了一个解决方法,包括将插件降级到版本2.9.1,我已经确认这是一个成功的解决错

当使用maven javadoc插件生成测试javadoc时,我突然收到多个错误,指出javadoc插件无法从我的主代码库中找到任何类。运行
testjavadoc
目标时,类路径仅包含
src/test
文件夹中的类;插件看不到来自
src/main
的类

此错误发生在maven javadoc插件版本
2.10
2.10.1
2.10.2
上。此错误是官方认可的错误MJAVADOC-414,您可以查看错误报告。官方的bug报告列出了一个解决方法,包括将插件降级到版本
2.9.1
,我已经确认这是一个成功的解决错误的方法。还值得注意的是,该错误目前已被列为已修复错误,应在下一版本的maven javadoc插件(可能是
2.11
2.10.3
时消除


然而,我正试图找到一个解决办法,以
MJAVADOC-414
不涉及过度降低3个发行版本。有谁知道有一种解决方法可以成功地消除关于丢失类引用的错误消息,而不涉及降级吗?

我目前在maven javadoc plugin
2.10.2
中成功使用的一种潜在的非降级解决方法包括添加一个小配置对插件的所有与测试相关的执行,包括以下目标:
testjavadoc
testjavadocnofork
testaggregate
test jar
test aggregate jar
test fix
测试资源包

一旦确定了以列出的目标为目标的执行,只需将以下配置添加到该执行中:

<!-- Additional Dependencies workaround for MJAVADOC-414 -->
<additionalDependencies>
    <additionalDependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>${project.artifactId}</artifactId>
        <version>${project.version}</version>
    </additionalDependency>
</additionalDependencies>

${project.groupId}
${project.artifactId}
${project.version}
此解决方法使用additionalDependencies标记在插件执行期间向类路径添加依赖项。添加的依赖项是使用groupId、artifactId和version的项目变量定义的。实际上,我们正在将当前POM定义的项目添加到maven javadoc插件测试执行的类路径中


通过相对变量定义依赖关系使该解决方案对于单个POM和多个POM项目都是安全的。此解决方案还可以成功地与pluginManagement声明一起使用。如果您不小心将此解决方案添加到与测试阶段无关的执行中,它应该是无害的,但它很可能是重复的,并且可能会增加执行时间。

这是一个很好的问答,对两者都是+1。但是考虑修改你的“文本块”格式。使用段落和空白使其更清晰。感谢投票和建议;我用段落更新了Q和A。你有机会测试maven javadoc插件版本2.10.3的快照版本吗?所以我们可以确定问题已经解决了?所以我可以在下周开始发布…@khmarbaise我可以使用
http://repository.apache.org/snapshots
作为插件存储库。快照版本仅使用我已经发布的解决方法成功生成了测试Javadoc。如果没有我的解决方法,
2.11-SNAPSHOT
生成的错误与
2.10
发行版生成的错误相同。要么错误地将错误标记为“已修复”,要么修补程序尚未在快照版本中推出。因此,新版本正式发布。