11

3个问题:

下面是 JUnit 的两个 Maven 依赖项。我已经搜索了几个小时的互联网,似乎无法确定第二个是 Javadoc + 代码还是只有 Javadoc。我需要一个还是两个?此外,将 Javadocs 包含在开发项目中但不包含在生产构建中的最有效方法是什么?(我不希望为每台机器上的每个依赖项手动下载 javadocs。)

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
</dependency>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.11</version>
  <classifier>javadoc</classifier>
</dependency>

编辑:问题:

  • 这些依赖项之间有什么区别?
  • 我是否需要他们两个都能够使用依赖项并且手头有 Javadoc?
  • 包含用于开发的 Javadocs 的最佳实践是什么?
4

3 回答 3

13

通常 Javadocs 不主要用作依赖项。因为这些在编译和运行时都不需要。只是为了在开发或调试时帮助开发人员。

假设使用 java IDE Eclipse,我们可以使用引用的 java 文档。以下是我们可以将 javadocs/sources 与相应的 jar 关联的方法。

1. 如果是非 maven 项目: 下载 javadocs jar 或压缩文件,无论是否可用,并将其放在某个目录中。右键单击 IDE Eclipse 中的应用程序项目,单击 Properties 并选择 Java Build Path,然后选择 Java Build Path 下的标签 Libraries。现在展开您要与 java docs/source 链接的 jar。选择 Javadoc 位置链接并单击编辑按钮,将出现一个新窗口,我们需要在其中选择 javadocs jar 路径。单击确定,我们已将 javadoc/source 与相应的 jar 链接起来。

在此处输入图像描述

2.如果是maven项目

如果我们使用的是 Maven 项目,则在 Project Explorer 视图中的项目下的 Maven 依赖项下的 jar 文件,如下所示。现在右键单击要添加 Javadoc/源的 jar 文件, 选择 Maven,然后单击要与项目链接的 Javadoc 或源。现在 IDE 将自动下载所需的 javadoc/source 并将其与项目中的相应 jar 链接。

在此处输入图像描述

您可以通过右键单击IDE中的项目并单击Java Build Path并选择Java Build Path下的Libraries选项卡然后展开所需的jar来验证这一点,当您单击Edit按钮时,您将看到链接路径带有相应 jar 的 Javadoc/Source,如下图所示。

在此处输入图像描述

3. 如果是 Maven 项目并且我们正在设置默认行为:

Eclipse 将在开始时下载 javadoc/source 以及所需的主要 jar。默认情况下,Maven 设置指令下载项目中链接的所有 jar 的 Javadoc/源。

点击 Windows - 首选项 - 选择 Maven 并点击复选框 Download Artifact Javadoc 如下图所示

在此处输入图像描述

现在单击应用并保存它,现在当您创建新的 Maven 项目时,默认情况下 Javadocs 将被下载并与项目中的所有依赖 jar 链接。
您可以通过右键单击项目和属性进行验证,在 Java Build 路径下可以看到 javadocs 与所有 jar 链接,如下所示。

在此处输入图像描述

如果您的项目是 Maven 项目,那么最好使用第二种方法,因为通过使用这种方法,IDE 和 Maven 会负责下载正确版本的 Javadoc/源并将其与相关 jar 链接。

方法 3rd 有点昂贵,因为将为所有依赖 jar 下载 javadoc/sources,可能你对所有依赖 jars 的 javadocs/sources 不感兴趣。

于 2017-04-09T08:05:40.177 回答
9

一般来说,您的 IDE 会在 maven 项目中为您处理 javadoc 的解析。这是假设您的 IDE 理解 maven - 例如 netbeans、intellij 或 eclipse w/m2e。

第二个工件只是 javadocs。第一个工件是代码。几乎没有充分的理由将 javadoc 工件作为依赖项包含在内。

于 2013-07-05T22:36:28.177 回答
2

当我在 eclipse 中创建一个 maven 项目时,我偶然发现了这个问题,而 javadoc 和我的依赖项的源都没有附加到我的项目中,我想知道要添加哪个依赖项。

对我有帮助的是添加

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
        </plugin>
    </plugins>
</build>

到我的 pom.xml。这样,您只需要使用第一个依赖项,而 maven/eclipse 负责下载第二个依赖项(正如在另一个答案中指出的那样,只有 javadoc)。

于 2015-09-21T13:35:56.057 回答