当Javadoc未添加到依赖项时如何在Maven的eclipse插件中引用javadocs到依赖项

时间:2020-03-05 18:47:48  来源:igfitidea点击:

我在开发中使用Eclipse,Maven和Java。我使用Maven下载依赖项(如果可用,则下载jar文件和javadoc),并使用Maven的eclipse插件为Eclipse生成.project和.classpath文件。当下载的依赖项没有添加javadoc时,我在.classpath文件中手动添加了javadoc的链接,以便可以在Eclipse中看到依赖项的javadoc。然后,当我运行Maven的eclipse插件重新生成.classpath文件时,它当然会消除该更改。

有没有一种方法可以配置Maven的eclipse插件,以便在运行Maven的eclipse插件时自动为javadoc添加类路径属性?

我只对在maven存储库中未提供依赖项的javadoc和/或者源的答案感兴趣,这对我来说是最常见的情况。使用downloadSources和/或者downloadJavadocs属性不会解决此问题。

解决方案

回答

依赖项的来源会有所帮助吗?我们可以使用-DdownloadSources = true告诉eclipse插件下载这些文件(并在.classpath中进行引用)。

回答

从Maven Eclipse插件常见问题解答

The following example shows how to do
  this in the command-line:

mvn eclipse:eclipse -DdownloadSources=true  -DdownloadJavadocs=true 

  
  or in your pom.xml:

<project>
  [...]
  <build>
    [...]
    <plugins>
      [...]
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <configuration>
          <downloadSources>true</downloadSources>
          <downloadJavadocs>true</downloadJavadocs>
        </configuration>
      </plugin>
      [...]
    </plugins>
    [...]
  </build>
  [...]
</project>

回答

我们可能会考虑通过使用安装文件目标将javadoc jar手动安装到本地存储库中并传递-Dclassifier = javadoc选项来完全避免此问题。完成后,mvn生成的.classpath应该正确。

如果我们使用远程存储库作为中央存储的代理,则还可以将Javadocs部署到该存储库,然后使用该代理的其他所有用户现在也将自动获取javadocs。