我有这个Maven项目。我正在尝试让Maven在发出mvn包时自动生成JavaDocs。整个项目编译和包装都很好。它已经为主包中的所有Java类生成了文档,但它没有为子包中的任何类生成文档。它说它找不到它们。
确切的错误信息是:
[WARNING] javadoc: warning - No source files for package parser
我的项目结构如下:
pom.xml
src (directory)
main (directory)
java (directory)
parser (directory)
Parser.java
StringParser.java
ByteParser.java
Main.java
Reader.java
类Main.java和Reader.java有'package com.personal.reader;'。解析器目录中的类具有“package com.personal.reader.parser;”。似乎错误消息说它无法找到'com.personal.reader.parser'。
我的pom.xml看起来像这样:(为简洁起见,删除了一些东西)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.personal.reader</groupId>
<artifactId>Reader</artifactId>
<packaging>jar</packaging>
<version>0.1.0</version>
<name>Reader</name>
<url>http://maven.apache.org</url>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<outputDirectory>docs</outputDirectory>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
我一直在寻找解决方案。我发现的最近的事情就是StackOverflow question。似乎没有明确的答案。我已经尝试编译在提交者的答案中链接的项目,看他是否已经解决了。提交者的项目仍然表现出与我相同的问题。
我尝试在src / main / java和src / main / java / parser中创建package-info.java文件。这似乎不起作用。
我试过弄乱maven-javadoc-plugins。我研究了sourceFileIncludes,includeDependencySources,subpackages和dependencySourceIncludes。他们似乎都没有工作。我可能错过了一些东西。
如何修复Maven的这个问题,不包括生成Javadocs的子包?
答案 0 :(得分:0)
看起来我找到了答案。我在这里发帖,以便其他有同样问题的人可以在这里找到它。
我是如何做到的:我又在sourceFileIncludes的maven-javadoc-plugins标记处进行了操作。我在项目pom.xml
的插件中添加了这个。
<sourceFileIncludes>
<sourceFileInclude>**/*.java</sourceFileInclude>
</sourceFileIncludes>
项目pom.xml
中的整个插件如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<outputDirectory>docs</outputDirectory>
<sourceFileIncludes>
<sourceFileInclude>**/*.java</sourceFileInclude>
</sourceFileIncludes>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
它已成功生成解析器目录中的类的Javadocs文档。我想它也适用于其他目录或更深的目录。如果没有,您只需在<sourceFileInclude>
组下添加另一个<sourceFileIncludes>
并使用自己的路径。
我不是百分之百确定这是否是正确的答案,但它确实对我有用。如果其他人有更好的解决方案,请继续在此处发布。