这里的其他答案都有效,但会引入额外的依赖项或增加额外的构建复杂性。如果您使用 Maven 生成文档,并希望以最简单的方式使其在没有额外文件或依赖项的情况下工作,请添加到 maven-javadoc-plugin 配置:
<additionalOptions>-html5 --allow-script-in-comments</additionalOptions>
<header><![CDATA[
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/styles/vs.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/highlight.min.js"></script>
<script type="text/javascript">hljs.initHighlightingOnLoad();</script>
]]></header>
完整的插件配置如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<additionalOptions>-html5 --allow-script-in-comments</additionalOptions>
<nohelp>true</nohelp>
<show>private</show>
<header><![CDATA[
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/styles/vs.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/highlight.min.js"></script>
<script type="text/javascript">hljs.initHighlightingOnLoad();</script>
]]></header>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
Pick your theme from here 并将上面的“vs”替换为您喜欢的主题(所有小写字母,单词之间带有破折号,例如mono-blue;如果您想要的主题不起作用,您可以查看here获取可用文件列表)。
然后像这样写你的例子:
/**
* Does something cool.
* <pre><code class="java">{@code
// some example code here
int x = 5;
* }</code></pre>
*/
https://burningmime.gitlab.io/setmatch/javadoc/com/burningmime/setmatch/RuleDB.html
编辑:您实际上并不需要 <pre><code class="java"> 中的课程。您可以修改该 javascript 位,以便根本不需要更改源文件,并且 {@code} 部分中的任何内容都将突出显示,因为 Javadoc 已经添加了 <code> 标记。我不知道足够多的 JavaScript 来做到这一点,但应该不会太难。该解决方案可能是所有解决方案中侵入性最小的,因为它只是构建配置中的几行代码。
我正在标记这个社区 wiki,所以如果有人想加入并添加它,请这样做。