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

2022-08-31 12:05:30

在我的项目中,我使用的是通过Maven提供的JAR文件。但Maven给我的只是这个罐子 - 没有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没有说任何关于它的来源下载失败的评论?


答案 1

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

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

荒废的:

还可以在设置.xml文件中创建配置文件,并包含以下属性:
<属性> <下载源>true</downloadSources> <downloadJavadocs>true</downloadJavadocs> </properties> 

答案 2
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

推荐