pet*_*erh 17 javadoc maven java-8
与JDK7相比,我发现在JDK8 javadoc中难以阅读新的外观.这是一个并排的例子.
JDK7:

JDK8:

JDK8占用了相当多的空间.它现在使用之前使用Arial的DejaVu字体.可能有充分的理由.不知道.
我最大的问题是在"参数"和"引发"部分中,参数与其描述之间不再存在任何视觉差异.它们都是单声道间隔字体.我认为用单声道间隔字体书写描述性文字只是丑陋.单调间隔字体用于标识符,源代码列表等的名称.(随意不同意).
在使用JDK8 javadoc工具的同时,我可以恢复JDK7样式吗?
我希望这样的事情javadoc -stylesheet jdk7.css在那里jdk7.css被包含在JDK8东西.此外,如果我决定自己定制css(不是我的东西,但可能没有其他解决方案),我不愿意在我们企业的每个构建服务器上确保新样式表的可用性.也许有一个Maven解决方案呢?
有人建议(下面)使用JDK7 javadoc css和JDK8 javadoc工具来查看是否会带回一些符合条件的Javadoc.
我通过检查Apache Commons Lang项目的源代码完成了我的测试.我只使用源代码,而不是他们的POM.这是为了确保我知道我在正确的基础上工作.
好的,首先 - 供参考 - 这是由所有JDK7工具链(JDK7 javadoc工具,JDK7 css)生成的Javadoc.这是POM片段:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<stylesheetfile>${basedir}/src/main/css/jdk7javadoc.css</stylesheetfile>
<javadocExecutable>C:/Program Files/Java/jdk1.7.0_55/bin</javadocExecutable>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
以及由此产生的Javadoc:

接下来,尝试将JDK7 css与JDK8 javadoc工具一起使用.这是POM片段:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<stylesheetfile>${basedir}/src/main/css/jdk7javadoc.css</stylesheetfile>
<javadocExecutable>C:/Program Files/Java/jdk1.8.0_05/bin</javadocExecutable>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
以及由此产生的Javadoc:

所以,正如你所看到的,这个策略对我没有用.
我刚刚意识到这种变化的结果是在参数描述上使用{@code }(或<code>)标记变得毫无意义.它无论如何都没有显示出来.换句话说,如果你喜欢在过去喜欢这样做:
/**
* ...
* @param eName the name for the entity or <code>null</code> to use the default
* ...
*/
Run Code Online (Sandbox Code Playgroud)
根本就没有意义了.null无论如何,你的文字都不会突出.
可以在这里找到Java 7的Javadoc中使用的css:
http://docs.oracle.com/javase/7/docs/api/stylesheet.css
然后,您可以使用stylesheetfilejavadoc命令行或ant或maven中的属性
来自命令行:
%javadoc -stylesheetfile <path> ...
Run Code Online (Sandbox Code Playgroud)
在蚂蚁:
<javadoc
....
stylesheetfile="/path/to/stylesheet.css"
/>
Run Code Online (Sandbox Code Playgroud)
在Maven中(有关详细信息,请参阅Maven的样式表配置页面):
<reporting> (or <build>)
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
...
<configuration>
<stylesheetfile>${basedir}/path/to/your/stylesheetfile.css</stylesheetfile>
...
</configuration>
</plugin>
</plugins>
...
</reporting> (or </build>)
Run Code Online (Sandbox Code Playgroud)
UPDATE
斯蒂芬Colebourne对有关于Java的其他8个重大更改到的Javadoc的文章在这里.显然,doclint现在强制执行HTML 4,如果链接断开或者不是100%正确HTML 4,则不会链接.您可以将其-Xdoclint:none作为附加参数关闭.
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)
关于<code>参数描述中的标签,我也看到了.看起来javadoc中的参数描述现在总是等宽的,所以你不再需要代码标签了吗?
| 归档时间: |
|
| 查看次数: |
2397 次 |
| 最近记录: |