标签: maven-javadoc-plugin

Maven站点(Maven 3)生成空站点文件夹

我正在尝试使用maven网站插件创建一个基本的maven网站.所以我把它添加到我的pom:

<reporting>
    <plugins>
        <!--JavaDoc setup-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.7</version>
            <configuration>
                <defaultAuthor>Leon Blakey</defaultAuthor>
                <defaultVersion>${project.version}</defaultVersion>
                <links>
                    <link>http://download.oracle.com/javase/6/docs/api</link>
                </links>
            </configuration>
        </plugin>
    </plugins>
</reporting>
Run Code Online (Sandbox Code Playgroud)

跑了 mvn site --errors

[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building pircbotx 1.3-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-site-plugin:2.0.1:site (default-site) @ pircbotx ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.688s
[INFO] Finished at: Wed Jan 12 18:08:00 EST 2011
[INFO] Final Memory: 5M/13M
[INFO] ------------------------------------------------------------------------
W:\programming\pircbot-hg>
Run Code Online (Sandbox Code Playgroud)

嗯,奇怪的是没有输出.所以当我检查目标/网站时,它是空的.唯一的文件夹是images /,css …

java javadoc maven maven-javadoc-plugin maven-site-plugin

11
推荐指数
3
解决办法
7388
查看次数

使用Eclipse编译器而不是javac会导致javadoc崩溃

摘要:

我遇到了一个有趣的问题,我不太确定如何侦察它:

  • 我们的项目已经建好几个月了
  • 我更改了maven-compiler-plugin使用eclipse编译器而不是javac
  • 现在,当我跑mvn site,maven-javadoc-plugin失败
  • 根据堆栈跟踪,看起来Javadoc工具正在崩溃Eclipse编译器创建的类文件

有没有什么办法解决这一问题?如果没有,是否至少有进一步调试的方法?

详细信息:

我正在使用Java 1.6.0_27和Maven 3.0.2.

我一直在使用javac编译器来构建我们的代码库,但是我对尝试Eclipse编译器感兴趣,因为它产生了更好的警告(并且在其他方​​面更易于配置).

所以我maven-compiler-plugin将pom.xml中的定义更改为:

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <compilerId>eclipse</compilerId>
        <source>1.6</source>
        <target>1.6</target>
        <compilerArgument>-warn:+boxing,enumSwitch,javadoc,hashCode</compilerArgument>
        <showWarnings>true</showWarnings>
        <showDeprecation>true</showDeprecation>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-compiler-eclipse</artifactId>
            <version>1.8.2</version>
        </dependency>
    </dependencies>
</plugin>
Run Code Online (Sandbox Code Playgroud)

在我的<reporting>部分中,我有:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>2.8</version>
</plugin>
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.我做了一个mvn clean install,一切都很好,所有测试都通过,一切看起来都很棒.

但是当我尝试运行时mvn site,当它到达Javadoc报告时,它失败了,似乎是一个Javadoc崩溃:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.0:site (default-site) on project framework: Error during page generation: Error rendering Maven report:
[ERROR] …
Run Code Online (Sandbox Code Playgroud)

java javadoc maven maven-javadoc-plugin

11
推荐指数
1
解决办法
1618
查看次数

如果创建一个站点,如何避免多次调用javadoc?

我想与javadoc和Maven站点一起部署一个工件.我用

clean javadoc:jar site deploy site:deploy
Run Code Online (Sandbox Code Playgroud)

(在site和之间的分割site:deploy只是为了避免在deploy失败的情况下部署站点).

现在javadoc创建了两次 - 一次进入javadoc:jar,一次进入site.是否可以只创建一次并将其用于javadoc-jarNexus和Maven站点?

java javadoc maven maven-javadoc-plugin maven-site-plugin

11
推荐指数
1
解决办法
248
查看次数

如何为Maven依赖项生成Javadoc

我有一个maven项目,其中包含以下POM代码段:

<modelVersion>4.0.0</modelVersion>
<artifactId>Foo-Deploy</artifactId>
<name>Foo-Deploy</name>
<packaging>pom</packaging>
<description>foobar</description>
<dependencies>
<dependency>
        <groupId>de.foo.bar</groupId>
        <artifactId>some-api</artifactId>
        <version>${project.version}</version>
        <classifier>doc</classifier>
        <type>zip</type>
    </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

我们的想法是定义一个依赖关系,其中有一些来源(这是之前成功创建的).现在我想在这个依赖项上运行javadoc.我打电话的时候

mvn javadoc:jar -DincludeDependencySources=true -DdependencySourceIncludes=de.foo.bar:some-api:*:doc:zip
Run Code Online (Sandbox Code Playgroud)

它失败了

不执行Javadoc,因为项目不是支持Java类路径的包

怎么了 ?无论如何它会工作吗?

或者我如何从特定依赖项生成javadoc(假设此项目具有更多依赖项)?

谢谢

javadoc maven maven-javadoc-plugin

9
推荐指数
1
解决办法
5093
查看次数

将maven JavaDoc与合理的doclint参数一起使用

关于如何在Java 8中关闭神圣的JavaDoc lint功能有很多信息.信不信由你,今天我决定使用这个功能并修复我的JavaDocs.然而,在其标准配置中,它抱怨每一个可能缺失@param@return.从我在Java 8 javadoc技术文档的JavaDoc文档中看到的,我的选择是-Xdoclint:all,-missing.这应该包括所有检查,但不要对错过的文件机会提出投诉.maven配置如下所示:

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.10.4</version>
        <configuration>
          <additionalparam>-Xdoclint:all,-missing</additionalparam>
          <aggregate>false</aggregate>
        </configuration>
        <reportSets>
          <reportSet>
            <id>default</id>
            <reports>
              <report>javadoc</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>
Run Code Online (Sandbox Code Playgroud)

但是当mvn site我运行时,我得到错误:

[ERROR] Exit code: 1 - javadoc: error - invalid flag: -missing
Run Code Online (Sandbox Code Playgroud)

我怀疑maven中的参数处理是个问题,但引用并没有帮助.

任何想法如何使用这个?以合理的方式检查JavaDoc的任何其他良好实践?

java javadoc maven maven-javadoc-plugin

9
推荐指数
2
解决办法
2522
查看次数

使用Lombok的@Builder注释时出现Javadoc“找不到符号”错误

我有一堂课,如下所示:

@Data
@Builder
public class Foo {
    private String param;

    /** My custom builder.*/
    public static FooBuilder builder(String _param){
        return builder().param(_param);
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

[错误]无法在项目foo上执行目标org.apache.maven.plugins:maven-javadoc-plugin:2.10.4:javadoc(default-cli):JavaDocs报表生成中发生错误:
[错误]退出代码: 1-/home/workspace/foo/src/main/java/com/foo/Foo.java:34:错误:找不到符号
[ERROR]公共静态FooBuilder builder(String _param)
[ERROR] ^
[ERROR]符号: FooBuilder类
[错误]位置:Foo类

java javadoc maven lombok maven-javadoc-plugin

9
推荐指数
2
解决办法
1508
查看次数

maven-javadoc-plugin 不接受 &lt;additionalparam&gt;-Xdoclint:none&lt;/additionalparam&gt;

A mvn release:perform is failing due to javadocs not being created. So I tried running

mvn javadoc:javadoc
Run Code Online (Sandbox Code Playgroud)

myself and I see that it fails due to the javadoc comments in the source code not having definitions for all of the parameters and return values. Errors are of the format:

Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.0.1:jar (attach-javadocs) on project my-project: MavenReportException: Error while generating Javadoc:

Exit code: 1 - /my/file.java:36: warning: no description for @return
Run Code Online (Sandbox Code Playgroud)

This, however, used to work. So what …

maven maven-javadoc-plugin

9
推荐指数
1
解决办法
3513
查看次数

如何使 Maven 构建(目标站点)因 Javadoc 警告而失败?

我正在以目标构建我的 Maven 项目site。输出中有 Javadoc 警告。在这种情况下,我的 Maven 构建必须失败。有没有办法做到这一点?

这是我的 POM 的代码片段(我使用的是 Maven 3.3):

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-site-plugin</artifactId>
    <version>3.5</version>
    <configuration>
        <generateReports>true</generateReports>
    </configuration>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>2.10.3</version>
    <configuration>
        <show>private</show>
        <failOnError>true</failOnError>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

java javadoc maven maven-javadoc-plugin maven-site-plugin

8
推荐指数
1
解决办法
2601
查看次数

如何使 Maven Javadoc 插件适用于任何 Java 版本

我正在使用 Maven Javadoc 插件,如下所示

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>3.1.1</version>
    <executions>
        <execution>
            <id>attach-javadocs</id>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

我安装了多个 JDK 版本,并且希望能够使用其中任何一个版本构建项目。上面的配置在 Java 8 上工作正常,但在 Java 11 上失败并出现以下错误

无法在项目上执行目标 org.apache.maven.plugins:maven-javadoc-plugin:3.1.1:jar (attach-javadocs) ...: MavenReportException: 生成 Javadoc 时出错: 无法找到 javadoc 命令: 环境变量JAVA_HOME 设置不正确。

显而易见的解决方案是设置 JAVA_HOME。但正如我提到的,我有多个版本的 JDK,因此每次我想使用另一个版本时都重新配置 JAVA_HOME 一点也不方便。

另一个解决方案(来自Unable to find javadoc command - maven)是将以下配置添加到插件中:

<configuration>
    <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
</configuration>
Run Code Online (Sandbox Code Playgroud)

这使得它可以与 Java 11 一起使用,但会破坏 Java 8,因为javadoc位置就${java.home}/../bin/javadoc在这种情况下。

理想情况下,我总是想从 Maven 使用的 java 可执行文件所在的目录中使用javadoc,但我还没有找到使用 Maven Javadoc 插件来实现这一点的方法。

java maven maven-javadoc-plugin

8
推荐指数
1
解决办法
6276
查看次数

如何使用 Maven Javadoc 插件正确链接到模块化依赖项?

在我的 .NET 中project,我试图在该工具生成的文档文件中包含指向模块化 Java 库 ( Caesar ) 的链接javadoc。跑步:

mvn clean install
Run Code Online (Sandbox Code Playgroud)

构建没有链接到外部库的文档。

我的配置:

project
|-- pom.xml
`-- src
    `-- main
        `-- java
            |-- foo.bar.project
            |   `-- foo
            |       `-- bar
            |           `-- project
            |               `-- Foo.java
            `-- module-info.java
Run Code Online (Sandbox Code Playgroud)

Foo.java

package foo.bar.project;

import com.github.glusk.caesar.Bytes;

public class Foo {
    public static Bytes bytes;
}
Run Code Online (Sandbox Code Playgroud)

module-info.java

module foo.bar.project {
    requires com.github.glusk.caesar;
}
Run Code Online (Sandbox Code Playgroud)

pom.xml

package foo.bar.project;

import com.github.glusk.caesar.Bytes;

public class Foo {
    public static Bytes bytes; …
Run Code Online (Sandbox Code Playgroud)

java javadoc maven java-platform-module-system maven-javadoc-plugin

8
推荐指数
1
解决办法
461
查看次数