- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 project
,我试图在由 javadoc
生成的文档文件中包含指向模块化 Java 库(Caesar)的链接。工具。运行:
mvn clean install
构建没有外部库链接的文档。
project
|-- pom.xml
`-- src
`-- main
`-- java
|-- foo.bar.project
| `-- foo
| `-- bar
| `-- project
| `-- Foo.java
`-- module-info.java
Foo.java
:
package foo.bar.project;
import com.github.glusk.caesar.Bytes;
public class Foo {
public static Bytes bytes;
}
module-info.java
:
module foo.bar.project {
requires com.github.glusk.caesar;
}
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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>foo.bar</groupId>
<artifactId>project</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.release>11</maven.compiler.release>
</properties>
<dependencies>
<dependency>
<groupId>com.github.glusk</groupId>
<artifactId>caesar</artifactId>
<version>0.4.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
<id>compile</id>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<sourcepath>${project.build.sourceDirectory}</sourcepath>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20:41:47+02:00)
Maven home: C:\Tools\apache-maven-3.6.0
Java version: 11.0.8, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-11.0.8
Default locale: sl_SI, platform encoding: UTF8
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
pom.xml
后(如
article 中的建议;下载项目依赖项的源代码和 javadocs):
<project>
<!-- ... -->
<build>
<plugins>
<!-- ... -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<goals>
<goal>sources</goal>
<goal>resolve</goal>
</goals>
<configuration>
<classifier>javadoc</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
并运行:
mvn clean install
生成的 HTML 文档中仍然缺少链接。但是,Maven 会输出这些额外的构建日志行:
[INFO] --- maven-dependency-plugin:3.1.2:sources (default) @ project ---
[INFO]
[INFO] The following files have been resolved:
[INFO] com.github.glusk:caesar:jar:javadoc:0.4.0 -- module caesar (auto)
[INFO]
[INFO] The following files have NOT been resolved:
[INFO] com.github.glusk:caesar:jar:0.4.0:compile -- module com.github.glusk.caesar
[INFO]
[INFO]
[INFO] --- maven-dependency-plugin:3.1.2:resolve (default) @ project ---
[INFO]
[INFO] The following files have been resolved:
[INFO] com.github.glusk:caesar:jar:javadoc:0.4.0 -- module caesar (auto)
[INFO]
[INFO] The following files have NOT been resolved:
[INFO] com.github.glusk:caesar:jar:0.4.0:compile -- module com.github.glusk.caesar
[INFO]
[INFO]
<links>
<link>https://javadoc.io/doc/com.github.glusk/caesar/0.4.0</link>
</links>
到
<configuration/>
maven-javadoc-plugin
的标签添加类和包链接,但未能包含模块链接。
project/target/apidocs/foo.bar.project/module-summary.html
, 很像
here ,如果我定义我的
module-info.java
作为:
module foo.bar.project {
requires transitive com.github.glusk.caesar;
}
<configuration/>
堵塞:
<configuration>
<sourcepath>${project.build.sourceDirectory}</sourcepath>
<links>
<link>https://javadoc.io/doc/com.github.glusk/caesar/0.4.0</link>
</links>
<additionalOptions>
<option>--show-module-contents all</option>
</additionalOptions>
</configuration>
构建
project
带有 Caesar javadocs 链接的文档托管在
https://javadoc.io
.标记
--show-module-contents all
包括所有模块引用,包括
java.base
,这不是我真正想要的,因为该模块中有太多的包,它会使文档困惑。
<configuration>
<sourcepath>${project.build.sourceDirectory}</sourcepath>
<additionalOptions>
<option>--module foo.bar.project</option>
<option>--expand-requires transitive</option>
</additionalOptions>
</configuration>
从 Maven Central 获取依赖文档并构建独立文档。唯一的外部链接是指向 Java SE API 的链接。但它并不完全有效:
mvn clean install
引发以下警告:
[WARNING] Javadoc Warnings
[WARNING] javadoc: warning - module caesar not found.
[WARNING] javadoc: warning - module caesar not found.
和模块的包文档
com.github.glusk.caesar
不包含在生成的文档中。但是,
project/target/apidocs/foo.bar.project/module-summary.html
看起来和我想要的一模一样!
最佳答案
我假设您使用 @link
在您的 javadoc 中引用。
就像是:
/**
* have a look here: {@link ImmutableMessageDigest}
* @see <a href="https://github.com/Glusk/caesar">Glusk Caesar</a>
*/
public void bar(){
// your code
}
为了使 {@link ImmutableMessageDigest} 在生成的 javadoc 中转换为实际的 HTML 链接,您需要添加对实际外部 javadoc 的引用。
link
来实现在
maven-javadoc-plugin
.
<link>https://javadoc.io/doc/com.github.glusk/caesar/0.4.0</link>
包括
Indirect Exports
在 module-summary.html 中,您需要添加(附加)选项
--show-module-contents all
导致:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<sourcepath>${project.build.sourceDirectory}</sourcepath>
<!-- include this part -->
<links>
<link>https://javadoc.io/doc/com.github.glusk/caesar/0.4.0</link>
</links>
<additionalOptions>
<option>--show-module-contents all</option>
</additionalOptions>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
关于java - 如何使用 Maven Javadoc 插件正确链接到模块化依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64843452/
我在互联网上搜索了很多小时,但没有找到满意的结果,所以 -VSTO Addin 和 COM Addin(我们作为类库项目制作并使用 Excel 对象)之间有什么区别?VSTO 项目是否有任何限制,例如
我在互联网上搜索了很多小时,但没有找到满意的结果,所以 -VSTO Addin 和 COM Addin(我们作为类库项目制作并使用 Excel 对象)之间有什么区别?VSTO 项目是否有任何限制,例如
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我正在寻找有关如何构建可扩展 WCF 服务器(具有动态加载的服务)的建议,最好使用 System.Addins 或 MEF。 服务器应托管实现最小“插件”API(StartService/StopSe
有没有一种方法可以使用加载浏览器扩展/插件/插件的 headless 浏览器(即 PhantomJS、Selenium)来运行自动测试? 更具体地说,我想模拟广告拦截器(如 Ghostery、ad-b
我是 gradle 的新手,我使用 artifactory 作为我的 repo 服务器。我在网上查看了如何将我的项目发布到我的 repo 服务器,发现我可以使用 maven-publish 或使用 a
我想禁用某些状态的点击/事件,并仅使少数状态可点击。我通读了http://newsignature.github.io/us-map/处的文档,并且找不到与此问题相关的任何内容。 最佳答案 http:
据我了解,在Intellij中使用idea插件打开Maven构建的项目并不是最好的方法,即调用: mvn idea:idea 但是直接打开pom文件(Intellij有默认的Maven插件);同样的事
使用Artifactory plugin对于 Jenkins pipeline 来说是一种幸福,只要遵循文档就可以了。但后来我介绍了Maven Flatten plugin解析父模块和子模块 mvn
我已经安装了Elasticsearch版本1.7.1。一切正常。我也安装了 JDBC 驱动程序。检查下面我的插件文件夹 目录E:\Xampp\htdocs\my-elastic\elasticsear
在我使用 webpack common chunks 插件创建包含第三方库(如 angular、react、lodash 等)的 vendor 包之前,但后来我知道了 webpack dll
我们正在尝试使用(Jenkins、sonar、eclipse ...)安装 CI 平台。 为了让每个开发人员都可以在提交之前对他的代码进行分析,我想知道两种选择: 使用 Sonar 插件运行本地分析。
我知道这是一个比较特殊的问题。尽管如此,也许有些人知道这一点: 我想在 Eclipse 中使用 Maven 编译 Hector=> 分支:0.7.0 和标签:hector-0.7.0-29(https
我卡住了。我一直在尝试寻找或自己创建一个简单的准系统示例,说明如何为 VS 2010 Express 创建 Outlook 插件。我知道这在 VS 2010 Pro 中更简单,但是,在快速版本中真的不
我有以下排除过滤器来忽略所有 R 文件类: findbugs-exclude-filter.xml 当我将它用于 FindBugs-IDEA 插件时,它可以
我刚开始玩 CakePHP,我发现了 Wildflower CMS .我喜欢这个想法,并打算开始修补它。不过,我有一个问题。 在自述文件中,我发现了以下内容:“Wildflower 不是也不会是 Ca
虽然现在大部分情况都是使用n-api来编写插件,但是底层毕竟是v8(和libuv),使用v8编写简单的插件,同时熟悉v8的使用。 本文介绍在写c++插件时,简单又常用的写法,其实本质上,写插件
本篇是 Python 系列教程第 3 篇,更多内容敬请访问我的 Python 合集 Visual Studio Code的安装非常简单,就不放这里增加文章篇幅了。 相比PyCharm,V
Maven – 插件 什么是 Maven 插件? Maven 实际上是一个依赖插件执行的框架,每个任务实际上是由插件完成。Maven 插件通常被用来: 创建 jar 文件 创建 war
我正在编写一个插件来添加带有标签 [deposit_page] 的页面;该标记应替换为一些 PHP 代码。 这就是我所拥有的,但它不起作用。有什么我遗漏或做错了什么吗? function deposi
我是一名优秀的程序员,十分优秀!