如何使用 Maven 下载 jar 的源代码?

新手上路,请多包涵

在我的项目中,我使用的是通过 Maven 提供的 JAR 文件。但是 Maven 给我的只是这个 jar——没有 javadocs 也没有源代码。按“下载源”没有效果:Eclipse 仍然找不到 jar 的源。

这取决于什么?存储库应该自动提供资源吗?

可能我需要在 POM 中写一些东西来指示 Maven 下载源代码?

我当前的 pom 如下:

 <repositories>
    <repository>
        <id>xuggle repo</id>
        <url>http://xuggle.googlecode.com/svn/trunk/repo/share/java/</url>
    </repository>
</repositories>

<dependencies>

    <dependency>
        <groupId>xuggle</groupId>
        <artifactId>xuggle-xuggler</artifactId>
        <version>5.3</version>
        <type>rar</type>
    </dependency>

</dependencies>

为什么 Maven 不对它的源下载失败发表任何评论?

原文由 Suzan Cioc 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 935
2 个回答

2020 年更新:

Maven 依赖插件 应该用于 dependency:sources 目标

   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>3.1.1</version>
    <executions>
      <execution>
        <id>download-sources</id>
        <goals>
          <goal>sources</goal>
        </goals>
        <configuration>
        </configuration>
      </execution>
    </executions>
  </plugin>

这也可以从命令行运行,如下所示:

 mvn dependency:sources -Dsilent=true

执行 mvn dependency:sources 将强制 Maven 下载项目中所有 jar 的所有源,如果源可用(上传到托管工件的存储库中)。如果你想下载 javadoc 命令是 mvn dependency:resolve -Dclassifier=javadoc

弃用:

也可以在 settings.xml 文件中创建配置文件并包含以下属性:

 <properties>
  <downloadSources>true</downloadSources>
  <downloadJavadocs>true</downloadJavadocs>
</properties>

原文由 hovanessyan 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

如果它没有来源,它应该说类似的话

[INFO] The following files have NOT been resolved:
[INFO]    com.oracle:ojdbc6:java-source:sources:12.1.0.1
[INFO]    javax:javaee-api:java-source:sources:6.0

原文由 Kalpesh Soni 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题