当前位置: 首页 > 知识库问答 >
问题:

Maven Javadoc未能找到我的子包-“Javadoc:警告-没有包的源文件”

田志尚
2023-03-14

我有一个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

这些课程是主要的。java和Reader。java有“包com”。个人的读取器;'。解析器目录中的类具有“package com”。个人的读者解析器;'。错误消息似乎表示无法找到“com”。个人的读者解析器'。

我的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问题。似乎没有明确的答案。我尝试编译提交者答案中链接的项目,看看他是否解决了它。提交者的项目仍然表现出与我相同的问题。

我尝试在src/main/java和src/main/java/parser中创建package-info.java文件。这似乎不起作用。

我试着搞乱maven javadoc插件。我研究了sourceFileIncludes、includeDependencySources、subpackages和dependencySourceIncludes。它们似乎都不起作用。我可能错过了什么。

如何解决Maven不包括生成Javadocs的子包的问题?

共有1个答案

昌琪
2023-03-14

看起来我已经找到了我的答案。我把它贴在这里,这样其他有同样问题的人可以在这里找到它。

我是如何做到的:我再次尝试了maven javadoc插件中的sourceFileIncludes标记。我在项目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文档。我想它也可以用于其他目录或更深层的目录。如果没有,您可以添加另一个<代码>

我不是百分之百确定这是否是正确的答案,但它确实对我很有效。如果有人有更好的解决方案,请继续在这里发布。

 类似资料:
  • 我正在编写一个带有目录结构的maven包 使工作良好。 我的问题是为中包含的文件生成正确的文档,但发布 下面是相关的(?)pom.xml的一部分: 在中 我应该怎么做才能使Maven/Javadoc找到中的文件?

  • 我创建了一个应用程序,创建gpx文件。除了分享,一切都很好。因此,我创建了一个文件提供程序。你可以在下面看到它的配置。提供商在运行Android8.0.0的Android设备上工作正常,但在朋友华为(6.0)上不工作 清单中的提供者: 文件路径。xml: 代码中的用法: 我希望有人能帮我找到导致应用程序在某些设备上崩溃的错误...

  • 这不是这个问题的重复。我在将外部依赖项包含到Javadoc中时遇到了问题,这不是问题所在。 我正在尝试将我的API部署到Maven Central。除了Maven Javadoc插件外,一切都很顺利。我的API有两个依赖项(Spigot API-org.spigotmc:Spigot API:1.19-R0.1-SNAPSHOT和JetBrains注释-org.JetBrains:Annotati

  • 我正试图实现将XLS文件中的单个工作表转换为CSV,PHPExcel内存耗尽,但在PHP Excel加载过程中遇到了问题。 我下载了这个包(http://phpexcel.codeplex.com/)并按照安装说明将文件夹“Classes”复制到三个目录: 1)C:\xampp\htdocs\mycode-只是我当前的工作目录 2) C:\xampp\php\pear-bcs这是我

  • 我正在使用Deploy azure应用程序服务在Team Services中插入构建步骤,我希望能够将PackageAsSingleFile设置为False来构建我的解决方案。但是,当我尝试使用创建的工件的路径发布包时,我得到“未找到具有指定模式的包”。 我是否需要创建两个项目,一个作为zip文件,一个作为文件包才能做我想做的事情?我已经尝试了不同的文件夹路径,但无论如何我都会得到相同的错误。