从Maven仓库获取源JAR

有没有人有任何想法,如果你可以在Maven仓库中找到源JAR文件?


Maven Micro-Tip:获取源代码和Javadocs

在IDE中使用Maven时,经常会发现需要IDE来解决源代码和Javadoc以满足库依赖性。 有一个简单的方法来实现这一目标。

mvn dependency:sources
mvn dependency:resolve -Dclassifier=javadoc

第一个命令将尝试下载您的pom文件中每个依赖关系的源代码。

第二个命令将尝试下载Javadocs。

Maven在这里是图书馆打包者的摆布。 所以他们中的一些人不会有源代码打包,其中许多人不会有Javadocs。

如果你有很多的依赖关系,使用包含/排除来获取特定的工件也是一个好主意,下面的命令将例如只下载具有特定artifactId的依赖关系的源代码:

mvn dependency:sources -DincludeArtifactIds=guava

资料来源:http://tedwise.com/2010/01/27/maven-micro-tip-get-sources-and-javadocs/

文档:https://maven.apache.org/plugins/maven-dependency-plugin/sources-mojo.html


从命令行运行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>

如果一个项目创建了一个jar项目源并将其部署到一个maven仓库,那么你会发现它:)

仅供参考,源文件通常由maven-source-plugin创建。 这个插件可以将项目的主要源或测试源打包到jar文件中,并且如配置源插件中所述:

(...)如果生成的jar文件是主要的源文件,它将通过finalName加上“-sources”的值来命名。 否则,如果它是测试源,它将是finalName加“ finalName -sources”。

描述工件(“-sources”或“-test-sources”)的附加文本称为分类器。

要声明使用分类器的工件的依赖关系,只需添加<classifier>元素即可。 例如:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate</artifactId>
  <version>3.2.7.ga</version>
  <classifier>sources</classifier>
</dependency>

请注意,您通常不会这样做,大多数IDE都会提供支持以从主工件下载源(和/或JavaDoc),而不会明确声明它们依赖于它们。

最后,还要注意一些存储库搜索引擎允许使用分类器搜索工件(至少Nexus用于高级搜索)。 以此搜索为例。

链接地址: http://www.djcxy.com/p/29739.html

上一篇: Get source JARs from Maven repository

下一篇: Is there are way to install maven dependencies before maven attempts to resolve them?