获取附加到Eclipse的源jar文件以获取Maven管理的依赖项

Thi*_*ilo 175 eclipse maven-2 javadoc

我正在使用Maven(以及Maven Eclipse Integration)来管理Eclipse中Java项目的依赖项.来自Maven存储库的JAR文件的自动下载功能可以节省时间.不幸的是,它不包括API文档和源代码.

如何设置Maven以自动获取源和javadoc附件并使用Eclipse正确注册它们?

mre*_*isz 223

我相信Eclipse的m2eclipse Maven插件 - 反过来 - 可以做到这一点.您可以将其配置为自动下载源文件和javadoc.

这可以通过进入Window> Preferences> Maven并检查"Download Artifact Sources"和"Download Artifact JavaDoc"选项来实现.

Maven Preferences的屏幕截图

  • 这些回复都不是答案.他们为什么被投票?我可以通过在Navigator视图中单击项目并选择"m2 Maven" - >"Download Sources"来下载源代码.然后,我可以在类上按命令单击(mac)以导航到链接的源. (44认同)
  • @Francis - 完成上述更改后,右键单击您的项目并选择"Maven> Update Project ..."这将导致您的源jar下载. (13认同)
  • 似乎如果已经下载了已编译的JAR,Eclipse将不会立即尝试获取源/ Javadoc JAR.看起来修改包含对POM的依赖关系的POM,我希望Eclipse中的源/ Javadoc和保存POM的源代码可以下载源/ Javadoc,即使已编译的JAR已经在Maven存储库缓存中. (8认同)
  • 不是为所有依赖项下载源代码,是否可以通过在pom中指定它以及依赖项本身来下载一些依赖项,可以通过依赖项标记中的某些内部标记或类似的东西来下载吗? (3认同)

Ste*_*nne 125

mvn eclipse:eclipse -DdownloadSources=true
Run Code Online (Sandbox Code Playgroud)

要么

mvn eclipse:eclipse -DdownloadJavadocs=true
Run Code Online (Sandbox Code Playgroud)

或者你可以添加两个标志,正如Spencer K指出的那样.

此外,该=true部分不是必需的,因此您可以使用

mvn eclipse:eclipse -DdownloadSources -DdownloadJavadocs
Run Code Online (Sandbox Code Playgroud)

  • 或两者!mvn eclipse:eclipse -DdownloadSources = true -DdownloadJavadocs = true仅当将source和javadoc提供给您正在下载的repo时才有效.有时它们不像Spring那样提供. (8认同)
  • Spring现在提供它们. (2认同)

ove*_*ink 71

关于这项工作的其他答案,但如果你想避免记住命令行参数,你也可以添加到downloadSources并将downloadJavadocs配置下载到你的pom.xml的maven-eclipse-plugin部分:

<project>
    ...
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <configuration>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>true</downloadJavadocs>
                    ... other stuff ...
                </configuration>
            </plugin>
        </plugins>
    </build>
    ...
</project>
Run Code Online (Sandbox Code Playgroud)


Dun*_*nes 16

我不想将源/ Javadoc下载设置放入项目pom.xml文件中,因为我觉得这些是用户首选项,而不是项目属性.相反,我将它们放在我的settings.xml文件中的配置文件中:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <profiles>
    <profile>
      <id>sources-and-javadocs</id>
      <properties>
        <downloadSources>true</downloadSources>
        <downloadJavadocs>true</downloadJavadocs>
      </properties>
    </profile>
  </profiles>

  <activeProfiles>
    <activeProfile>sources-and-javadocs</activeProfile>
  </activeProfiles>
</settings>
Run Code Online (Sandbox Code Playgroud)


sum*_*eet 9

右键单击项目 - > maven - >下载源

  • 每个人都说如何启用它而不是如何让maven下载源代码!启用该选项后 (3认同)

Har*_*rdy 8

如果源jar位于本地存储库中并且您正在使用Eclipses maven支持,则源将自动附加.您可以运行mvn dependency:sources以下载给定项目的所有源jar.不知道如何对文档做同样的事情.