【问题标题】:Maven – Always download sources and javadocsMaven – 始终下载源代码和 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 时执行它总是

标签: java maven


【解决方案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 所描述的那样
                      • 您应该将链接中的相关部分复制到您的答案中,以防万一网址中断。
                      猜你喜欢
                      • 2015-04-08
                      • 2012-08-31
                      • 2013-10-09
                      • 2022-01-24
                      • 2016-06-17
                      • 1970-01-01
                      • 2011-04-13
                      • 2013-07-07
                      • 2012-07-06
                      相关资源
                      最近更新 更多