【问题标题】:Maven dependency with javadocsMaven 依赖于 javadocs
【发布时间】:2013-07-04 00:51:27
【问题描述】:

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 的最佳做法是什么?

【问题讨论】:

  • 这应该会有所帮助(如果我的问题之一正确):stackoverflow.com/questions/5780758/…
  • @Andreas_D 我以前看过那个。我做了推荐的添加,但在这一步有点迷失:“然后确保 activeProfiles 包含新的配置文件。”
  • 将答案中的代码复制到您的~/.m2/settings.xml 文件中就足够了。您可能必须将配置文件元素添加到您的配置文件(如果已经定义了一些)

标签: java maven dependencies javadoc


【解决方案1】:

通常 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 按钮时,您将看到Javadoc/Source 与相应 jar 的链接路径,如下图所示。

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 链接为好吧。

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 谢谢!!仅第二段就回答了大约六个关于 SO 的开放性问题。
    • 我正在使用带有 m2e 的 Eclipse。一旦我绑定了一个依赖项,在这个例子中是 JUnit,我可以在某个地方右键单击并告诉它提取文档吗?
    • 如果您 ctrl+click 进入 JUnit 中的方法之一,您应该会看到它拉入代码。然后,当您将鼠标悬停在方法上(例如 org.junit.Assert.assertNotNull)时,您应该会开始看到 javadocs 是否已开始填充。
    【解决方案3】:

    当我在 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)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-01
      • 1970-01-01
      • 2011-04-22
      • 2017-03-30
      • 2011-04-12
      • 2012-08-31
      相关资源
      最近更新 更多