2013-07-05 88 views
6

3问题:Maven依赖于javadocs

下面是JUnit的两个Maven依赖关系。我一直在搜寻几个小时的互联网,似乎无法确定第二个是Javadoc +代码还是只有Javadoc。我需要一个还是两个?此外,将Javadocs包含在开发项目中而不是生产版本中最有效的方法是什么? (我宁愿不要手动下载javadoc,了解每台机器上的每个依赖。)

<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进行开发的最佳做法是什么?
+0

这应该有帮助(如果我得到你的问题之一):http://stackoverflow.com/questions/5780758/maven-always-download-sources-and-javadocs –

+0

@Andreas_D我看过那一个。我做了推荐的添加,但在此步骤中输了一些:“然后确保activeProfiles包含新配置文件。” – AnthonyW

+0

将答案中的代码复制到'〜/ .m2/settings.xml'文件中就足够了。您可能需要将配置文件元素添加到配置文件中(如果已经有一些定义) –

回答

8

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

第二个神器只是javadocs。第一件神器是代码。几乎没有任何理由将javadoc工件包含为依赖项。

+2

谢谢!仅第二段回答关于SO的六个开放问题。 – AnthonyW

+1

我使用Eclipse w/m2e。一旦我绑定了一个依赖项,JUnit在这个例子中,是否有某处我可以右键单击并告诉它将文档拉出来? – AnthonyW

+4

如果你按住ctrl并点击JUnit中的某个方法,你应该看到它拉入代码。然后当你将鼠标放在方法上时(例如'org.junit.Assert.assertNotNull'),如果javadocs尚未启动,你应该开始看到javadocs。 –

1

我偶然发现了这个问题,当我在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)。

6

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

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

1.如果它是不Maven项目: 下载的javadoc JAR或压缩文件,无论可用,把它放在某个目录。 右键单击Eclipse Eclipse中的应用程序项目,单击属性,然后选择Java Build Path,然后选择Java Build Path下的选项卡库。现在展开您想要与java docs/source链接的jar。选择Javadoc位置链接并单击编辑按钮,出现一个新窗口,我们需要选择javadocs jar路径。单击确定,我们已将javadoc/source与相应的jar相关联。

enter image description here

2。如果它是一个maven项目

如果我们正在使用Maven项目,然后转到项目资源管理器视图中的项目下的Maven依赖项下的jar文件,如下所示。现在右键单击要添加Javadoc/source的jar文件,选择Maven,然后单击要链接到项目的Javadoc或Source。现在,IDE将自动下载所需的javadoc/source,并将其与项目中相应的jar链接起来。

enter image description here

您可以通过右键点击在IDE的项目验证这一点,并单击Java构建路径,然后选择库选项卡中的Java构建路径下,当您单击,然后展开所需的罐子,在这里编辑按钮,你会看到Javadoc/Source的链接路径与相应的jar,如下图所示。

enter image description here

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

Eclipse将aquatically下载的javadoc /来源与在起跑线主所需的jar一起。 默认将指令设置为Maven以下载项目中链接的所有jar文件的Javadoc/sources。

单击Windows - 偏好 - 选择Maven和点击复选框下载神器的Javadoc如下图所示

enter image description here

现在点击应用并保存它,现在在创建新的Maven项目,在默认情况下的Javadoc将被下载并链接到项目中的所有相关罐子。
您可以通过右键单击项目和属性进行验证,并在Java构建路径下可以看到javadoc与所有jar相关联,如下所示。

enter image description here

如果你的项目是Maven的项目,然后它总是最好的,因为通过使用这种方法的IDE和Maven使用第二个方法,需要下载的Javadoc /源的正确版本的关怀和与连接它相对的罐子也是如此。

方法3的代价很大,因为javadoc/sources将被下载到所有依赖的jar中,可能你对所有依赖jar的javadocs/sources不感兴趣。