1. ホーム
  2. java

[解決済み] Mavenでjarのソースをダウンロードするには?

2023-06-02 12:14:35

質問

私のプロジェクトでは、Mavenを介して提供されるJARファイルを使用しています。しかし、Maven が私に与えるものはこの jar だけで、javadocs もソースもありません。ソースダウンロード("Download Sources")を押しても効果がありません。Eclipseはまだjarのソースを見つけることができません。

これは何に依存するのでしょうか?リポジトリは自動的にソースを提供すべきですか?

Mavenにソースをダウンロードするように指示するために、POMに何かを書く必要があるかもしれませんか?

私の現在の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はなぜソースのダウンロードに失敗しても何もコメントを書かないのですか?

どのように解決するのですか?

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 を実行すると、ソースが利用可能な場合(アーティファクトがホストされているリポジトリにアップロードされている)、プロジェクト内のすべてのjarのすべてのソースをmavenがダウンロードするように強制します。javadoc をダウンロードする場合、コマンドは次のようになります。 mvn dependency:resolve -Dclassifier=javadoc

非推奨。

また、settings.xml ファイルにプロファイルを作成し、以下のプロパティを含めることも可能です。
<properties>
  <downloadSources>true</downloadSources>
  <downloadJavadocs>true</downloadJavadocs>
</properties>