Maven – 始终下载源代码和 javadocs

Posted

技术标签:

【中文标题】Maven – 始终下载源代码和 javadocs【英文标题】:Maven – Always download sources and javadocs 【发布时间】:2011-08-12 10:51:14 【问题描述】:

有没有办法可以将 maven 配置为始终下载源代码和 javadocs?每次都指定-DdownloadSources=true -DdownloadJavadocs=true(这通常伴随着两次运行 mvn compile 因为我第一次忘记了)变得相当乏味。

【问题讨论】:

这是给eclipse插件的吗?无论如何,您不应该经常运行... 不,它是用于命令行程序的。我不必经常运行它,但如果我必须从不运行它会很棒! 什么是命令行?这是你做mvn eclipse:eclipse的时候对吗? @sjr,是的,为了下载源代码和javadocs,可以执行mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true 我认为这个问题仍然没有回答。接受的答案仅与 Eclipse 插件有关。 @AlexisGamarra 的答案是最接近的,但没有解决解决方案的“持久性”——它不会设置 Maven 在您运行 mvn install 时执行它总是 【参考方案1】:

对于 intellij 用户,在 pom.xml 文件中,右键单击任意位置并选择 Maven -> 下载源代码和文档。

【讨论】:

【参考方案2】:

Google 为人们提供答案

Eclipse 中,您可以手动下载 javadocsources

为此,请右键单击项目并使用

Maven -> 下载 JavaDoc Maven -> 下载源

【讨论】:

在IDEA中你可以右击Module,在Maven菜单下,有一个下载源和/或文档的选项 @Betlista 阅读了帖子的第一行。很多人从谷歌到这里寻找其他东西。但最终进入这里,即使使用不同的关键字【参考方案3】:

要跟进来自 kevinarpe 的答案,这对源代码和 Javadocs 都有作用:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>3.1.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>sources</goal>
                            <goal>resolve</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <classifier>javadoc</classifier>
                </configuration>
            </plugin>
        </plugins>
    </build>

【讨论】:

【参考方案4】:

对于依赖级别的来源 (pom.xml),您可以添加:

<classifier>sources</classifier>

【讨论】:

【参考方案5】:

在 Netbeans 中,您可以指示 Maven 检查每个打开的项目的 javadoc:

Tools | Options | Java 图标 | Maven 标签 | Dependencies 分类 | Check Javadoc 下拉设置为Every Project Open

关闭并重新打开 Netbeans,您将在状态栏中看到 Maven 下载 javadocs。

【讨论】:

【参考方案6】:

我必须使用 KeyStore 来下载罐子。如果您有任何与证书相关的问题,您可以使用此方法:

mvn clean install dependency:sources -Dmaven.test.skip=true -Djavax.net.ssl.trustStore="Path_To_Your_KeyStore"

如果你想知道如何创建 KeyStores,这是一个很好的链接: Problems using Maven and SSL behind proxy

【讨论】:

【参考方案7】:

只需修改文件 mvn(或 mvn.cmd,如果在 Windows 中)并添加您需要的任何命令行开关(如其他答案所述)。如果您不想修改安装文件(我建议这样做),请创建一个 mymvn(或 mymvn.cmd)包装器,该包装器使用参数调用常规 mvn

【讨论】:

【参考方案8】:

只需合并和准备单个命令即可解决源和文档下载...

mvn dependency:sources dependency:resolve -Dclassifier=javadoc

【讨论】:

【参考方案9】:

打开您的 settings.xml 文件~/.m2/settings.xml(如果不存在则创建它)。添加一个已添加属性的部分。然后确保 activeProfiles 包含新的配置文件。

<settings>

   <!-- ... other settings here ... -->

    <profiles>
        <profile>
            <id>downloadSources</id>
            <properties>
                <downloadSources>true</downloadSources>
                <downloadJavadocs>true</downloadJavadocs>
            </properties>
        </profile>
    </profiles>

    <activeProfiles>
        <activeProfile>downloadSources</activeProfile>
    </activeProfiles>
</settings>

【讨论】:

我正在 Maven 2.2.1 和 3.0.2 中尝试这些配置文件属性,但它们不起作用。目标存储库是 Archiva。关于还有什么可以尝试的建议?我也尝试过使用 dependency:sources 目标。谢谢 此外,在 Eclipse 中,您只需转到 Preferences -> Maven(无子类别)。在那里,您可以检查“下载工件源/JavaDocs”。但是,有时 Eclipse 不想手动创建该文件(在 Luna 中发生在我身上)。在这种情况下 - 去那里,将这个答案粘贴在设置标签中并告诉 Eclipse 重新加载它,它应该可以工作。 这对我有用:在 Eclipse 中转到 Preferences -> Maven(无子类别)。检查-“下载工件源”-“下载工件JavaDocs”-“启动时更新Maven项目”(只是因为我找不到手动方式)然后重新启动Eclipse。完成 这只影响 Maven Eclipse 插件。 这应该是公认的答案!正如@JingguoYao 所说,它只影响Maven Eclipse 插件。最初的问题与 Eclipse 无关,而是与 Maven 本身有关。【参考方案10】:

NetBeans 上: 打开您的项目资源管理器->依赖项->[file.jar] 右键单击​​->下载 Javadoc

【讨论】:

【参考方案11】:

在我的情况下,“settings.xml”解决方案不起作用,所以我使用此命令来下载所有源:

mvn dependency:sources

您也可以将它与其他 maven 命令一起使用,例如:

mvn clean install dependency:sources -Dmaven.test.skip=true

要下载所有文档,请使用以下命令:

mvn dependency:resolve -Dclassifier=javadoc

【讨论】:

我认为这个问题仍然没有回答。接受的答案仅与 Eclipse 插件有关。您的答案是最接近的,但不能解决解决方案的“持久性”——它不会设置 Maven 在您运行 mvn install 时执行它总是【参考方案12】:

我使用的是 Maven 3.3.3,无法让默认配置文件在用户或全局 settings.xml 文件中工作。

作为一种解决方法,您还可以在您的 pom.xml 文件中添加一个额外的构建插件。

<properties>
    <maven-dependency-plugin.version>2.10</maven-dependency-plugin.version>
</properties>
<build>
    <plugins>
        <!-- Download Java source JARs. -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>$maven-dependency-plugin.version</version>
            <executions>
                <execution>
                    <goals>
                        <goal>sources</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

【讨论】:

【参考方案13】:

正如@xecaps12 所说,最简单/有效的方法是更改​​您的 Maven 设置文件 (~/.m2/settings.xml) 但如果它是您的 默认 设置,您也可以就这样设置

<profile>
  <id>downloadSources</id>
  <activation>
    <activeByDefault>true</activeByDefault>
  </activation>
  <properties>
      <downloadSources>true</downloadSources>
      <downloadJavadocs>true</downloadJavadocs>
  </properties>
</profile>

【讨论】:

这实际上不起作用,您只是在声明未使用的全局属性。我相信神秘的解决方案来自maven-eclipse-plugin:maven.apache.org/plugins/maven-eclipse-plugin/examples/… 不,它只是“已解决”答案的简化;) “已解决”版本也不起作用。 (我也在那里发表了同样的评论,但在我与您协商时暂时将其删除。)所以 - 您是说您的答案(以及解决的答案)实际上对您有用吗?我的意思是,有 159 人上传了那个错误或过时的答案,所以很明显它适用于某人。如果它像你说的那样工作,那么我做错了什么,就像在其 cmets 中解决答案的几个人一样,我喜欢学习并让它发挥作用。 我想当您实际使用 ecrise 进行开发时,eclipse 插件会检查这些全局变量。源代码获取是由 eclipse 完成的,而不是命令行上的 maven。【参考方案14】:

我认为每个插件都可以完成。请参阅 Maven 书中的 this chapter。

您也许可以配置依赖插件来下载源代码(即使我自己没有尝试过 :-)。

【讨论】:

【参考方案15】:

不确定,但您应该可以通过在 settings.xml 中设置默认活动配置文件来做一些事情

见http://maven.apache.org/guides/introduction/introduction-to-profiles.html

【讨论】:

啊!正如@xecaps12 所描述的那样 您应该将链接中的相关部分复制到您的答案中,以防万一网址中断。

以上是关于Maven – 始终下载源代码和 javadocs的主要内容,如果未能解决你的问题,请参考以下文章

android studio没有下载源代码和javadoc

IDEA中,使用maven-可视化-下载jar包的source和javadoc

maven下载的jar包可以查看源码

不能通过maven-plugins既不生成javadoc也不生成源代码?

Eclipse|Maven:无法下载jar包源代码?

maven项目打包和编译跳过单元测试和javadoc