【问题标题】:Library javadocs generated by maven-javadoc-plugin does not work when linked on Eclipsemaven-javadoc-plugin 生成的库 javadocs 在 Eclipse 上链接时不起作用
【发布时间】:2016-07-27 00:09:15
【问题描述】:

UPDATE1:不仅仅是参数名,eclipse根本不显示任何javadoc信息。当您将鼠标悬停在某个类上时,不会显示任何内容。

UPDATE2:我的eclipse版本是4.2.0。

我正在使用 Eclipse,我想将一个库的 javadocs 附加到我的项目中,这样当我实现一个接口并选择选项 添加未实现的方法 方法参数名称 strong> 正确显示而不是 arg0arg1

问题是:

  • 当我通过 Eclipse(项目 > 生成 Javadocs...)生成 javadocs 并将其链接到我的项目时它可以工作,换句话说,我看到了正确的方法参数名称。

  • 当我通过 maven-javadoc-plugin 生成 javadocs 并将其链接到我的项目时它不起作用,换句话说,我看到了 arg0arg1

也许我没有正确配置我的 maven-javadoc-plugin?下面是我的 pom.xml 的配置:

  <plugin>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>2.8</version>
    <executions>
      <execution>
        <id>attach-javadocs</id>
        <goals>
          <goal>jar</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

任何帮助将不胜感激。看不到参数名称很糟糕。

【问题讨论】:

  • 你试过破解打开jar文件并比较文件吗?他们有什么不同?顺便说一句,我相信大多数 IDE,包括 Eclipse,将主要依靠 source jar 来获得这种智能。
  • 这是个好主意。我会做一个差异,看看我能找到什么。但我不会分发源代码,只分发 javadocs。 eclipse 生成的 javadocs 工作正常,所以 maven 肯定会做一些不同的事情。

标签: java maven javadoc maven-plugin


【解决方案1】:

这与仅在 4.3 版中修复的 this eclipse bug 有关。基本上 eclipse 在以下行停止处理 javadoc html 文件:

<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">

因为它期望内容属性中的字符集如下所示:

 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

我认为没有办法告诉 maven javadoc 插件更改此元标记,但您可以从 maven 运行下面的 ANT 任务来修复所有 html 文件:

<replace dir="target/apidocs">
    <include name="**/*.html"/>
    <replacetoken><![CDATA[<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">]]></replacetoken>
    <replacevalue><![CDATA[<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">]]></replacevalue>
</replace>

【讨论】:

    猜你喜欢
    • 2021-06-13
    • 2019-10-27
    • 1970-01-01
    • 2019-09-04
    • 1970-01-01
    • 2019-03-03
    • 2012-04-09
    • 2014-12-13
    • 2011-02-12
    相关资源
    最近更新 更多