如何从 Maven 仓库中获取 jar 源代码 | Java Debug 笔记

1,326 阅读1分钟

本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看<活动链接>

问题

如果想从 Maven 仓库中获取 Jar 源代码,有没有什么好的方法?

回答

回答1

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

IDE 中使用 Maven 时,通常会发现 IDE 需要解析依赖库的源代码和 Javadocs。有一个简单的方法可以实现。

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

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

第二个命令将尝试下载 Javadocs

Maven 受限于依赖包,其中一些包将没有提供源代码,并且没有 Javadocs

如果您有很多依赖关系,那么使用包含/排除来获取特定包可能也是一个不错的方法,例如,以下命令将仅下载具有特定 artifactId 的依赖关系的源代码:

mvn dependency:sources -DincludeArtifactIds=guava

源代码:tedwise.com/2010/01/27/…

文档:maven.apache.org/plugins/mav…

回答2

配置和运行 maven-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>

回答3

如果一个项目有项目源代码编译为 jar 包,并将其部署到 Maven 仓库,那么你可以这么做。

代码 artifacts 通过 maven-source-plugin 创建,该插件会将测试代码放到jar中存档。

用来描述artifacts (此处为“ -sources”或“ -test-sources”)的附加文本称为分类器。

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

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

翻译内容来源Stack Overflow:stackoverflow.com/questions/2…