有人知道是否可以在Maven存储库中找到源jar吗?
你可以,如果他们被上传。通常它们被称为“frameworkname-version-source(s)”
获取附加到Eclipse的源jar文件,用于maven管理的依赖关系 如果你使用eclipse maven插件,那么使用'mvn eclipse:eclipse -DdownloadSources=true'
如果一个项目创建了一个项目源代码的jar,并将其部署到maven存储库中,那么你会发现它:)
仅供参考,源工件通常由maven-source-plugin创建。这个插件可以将项目的主源或测试源绑定到jar存档中,并且如配置源插件中所述:
(…)生成的jar文件将由finalName的值加上“-sources”(如果它是主要源代码)来命名。否则,它将是finalName加上"-test-sources"(如果它是测试源)。
finalName
附加的文本用来描述一个工件(这里是“-sources”或“-test-sources”)称为分类器。
要在使用分类器的工件上声明依赖项,只需添加<classifier>元素。例如:
<classifier>
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> <version>3.2.7.ga</version> <classifier>sources</classifier> </dependency>
注意,您通常不会这样做,大多数ide都支持从主工件下载源(和/或JavaDoc),而无需显式地声明对它们的依赖。
最后,还要注意一些存储库搜索引擎允许使用分类器搜索工件(至少Nexus支持高级搜索)。例如,请参见这个搜索。
Maven微提示:获取源代码和Javadocs 当您在IDE中使用Maven时,您经常会发现需要IDE来解析源代码,并需要Javadocs来解析库依赖项。实现这个目标有一个简单的方法。 mvn dependency:sources mvn dependency:resolve -Dclassifier=javadoc 第一个命令将尝试下载pom文件中每个依赖项的源代码。 第二个命令将尝试下载Javadocs。 Maven在这里受库打包器的支配。因此,其中一些没有打包源代码,许多没有Javadocs。 如果你有很多依赖关系,使用它可能也是一个好主意 包含/排除以获取特定工件,请执行以下命令 例如,是否只下载依赖关系的源代码 一个特定的artifactId: mvn dependency:sources -DincludeArtifactIds=guava
当您在IDE中使用Maven时,您经常会发现需要IDE来解析源代码,并需要Javadocs来解析库依赖项。实现这个目标有一个简单的方法。
mvn dependency:sources mvn dependency:resolve -Dclassifier=javadoc
第一个命令将尝试下载pom文件中每个依赖项的源代码。
第二个命令将尝试下载Javadocs。
Maven在这里受库打包器的支配。因此,其中一些没有打包源代码,许多没有Javadocs。
mvn dependency:sources -DincludeArtifactIds=guava
Source: http://tedwise.com/2010/01/27/maven-micro-tip-get-sources-and-javadocs/
Documentation: https://maven.apache.org/plugins/maven-dependency-plugin/sources-mojo.html
IntelliJ Idea的Maven idea插件允许您指定是否应该解析和下载源代码和java文档
mvn idea:idea -DdownloadSources=true -DdownloadJavadocs=true
如果你正在使用eclipse,你也可以打开Preferences > Maven并选择下载Artifact Sources,这将使pom.xml保持完整,并将你的源代码或java文档(如果选中)保存在你的机器位置~/.m2中进行开发
配置和运行maven-eclipse插件(例如从命令行mvn eclipse:eclipse)
mvn eclipse:eclipse
<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>
所以,我推荐加布里埃尔·拉米雷斯的方法。
根据在Eclipse (Kepler)中查看Maven控制台,如果您试图在编辑器中从上述Maven依赖项打开一个类,而您还没有下载Maven依赖项的源代码,则将自动下载Maven依赖项的源代码。当您不想为所有依赖项获取源代码,但又不知道需要哪些依赖项时(而且您正在使用Eclipse),这是非常方便的。
我最终使用@GabrielRamierez的方法,但将继续使用@PascalThivent的方法。
要下载一些特定的源代码或javadoc,我们需要包括GroupIds -它是一个逗号分隔的值,如下所示
mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=sources
注意,分类器不是用逗号分隔的,要下载javadoc,我们需要使用分类器javadoc再次运行上述命令
mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=javadoc
在Eclipse中
pom.xml
Run As
Maven generate-sources
先决条件:
Maven应该使用Eclipse进行配置。
在maven驱动项目的NetBeans 8中,只需上下文单击您感兴趣的依赖项的jar文件列表项。选择Download Sources。稍等片刻,NetBeans将自动下载并安装源代码(如果可用的话)。
Download Sources
类似地,你可以选择Download Javadoc来在本地安装doc。然后,您可以在编辑器中上下文单击一些代码并选择查看JavaDoc。
Download Javadoc
”
下载任何工件使用
mvn dependency:get -Dartifact=groupId:artifactId:version:packaging:classifier
对于Groovy源代码,这将是
mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:sources
对于Groovy的javadoc,您将使用
mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:javadoc
这将把给定的工件放入您的本地Maven存储库中,通常是$HOME/.m2/repository。
$HOME/.m2/repository
dependency:sources只是下载项目依赖项的源,而不是插件源,也不是插件内部定义的依赖项的源。
dependency:sources
在eclipse中-点击项目然后:
。
如果你知道groupId和aritifactId,你可以像这样生成下载url。
<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency>
http://central.maven.org/maven2/ch/qos/logback/logback-classic/
,你会得到一个这样的页面,选择你需要的版本,只是享受它! < / p >
为了调试,你也可以使用“Java反编译器”,如:JAD,并在运行中反编译源代码(尽管生成的源代码永远不会与原始源代码相同)。然后将JAD作为插件安装到Eclipse或您喜欢的IDE中。
Maven存储库确实提供了下载jar源代码的简单方法。
我将使用“spring-boot-actuator-autoconfigure”的演示来解释它。
否则,你总是可以“git克隆”从github的回购,如果它在那里,并获得特定的代码。
正如其他人解释的那样,您可以使用“mvn dependency:sources”命令获取并生成您正在使用的依赖项的sources jar。
初学者pom是一组方便的依赖描述符,可以包含在应用程序中。您可以获得所需的所有Spring和相关技术的一站式商店,而不必寻找示例代码和复制粘贴依赖描述符负载。
参考:Spring引导启动程序介绍
在IntelliJ IDEA中,您可以在导入时通过打开“自动下载源”选项自动下载工件源:
__abc0→__abc1→__abc2→__abc3→__abc4
如果您想手动找到任何工件的源jar文件,请转到特定工件的maven存储库位置,并在Files中单击“view All”。你可以找到源jar文件。
如果你正在使用Eclipse,我建议同时下载第三方库的源代码而且和Javadocs。
右键点击项目和下载两个截图如下。
下载Javadocs意味着通常可以从第三方库中获得方法的上下文帮助,其中包含有用的参数描述等。如果你不太了解图书馆,这是很重要的。在某些情况下,我发现当源代码不可用时,Javadocs是可用的。