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 中,您可以手动下载 javadoc 和 sources。
为此,请右键单击项目并使用
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的主要内容,如果未能解决你的问题,请参考以下文章
IDEA中,使用maven-可视化-下载jar包的source和javadoc