82

私のプロジェクトでは、Maven 経由で提供される JAR ファイルを使用しています。しかし、Maven が私に提供するのはこの jar だけです。Javadoc もソースもありません。[ソースのダウンロード] を押しても効果はありません。Eclipse はまだ jar のソースを見つけられません。

これは何に依存していますか?リポジトリはソースを自動的に提供する必要がありますか?

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 がソースのダウンロードに失敗したことについてコメントしないのはなぜですか?

4

7 に答える 7

143

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>
于 2012-07-06T11:34:14.603 に答える
59
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
于 2014-04-22T22:28:27.390 に答える
14

Eclipse プラグインは推奨されていないため、これに依存しないことをお勧めします。downloadSourcesとプロパティを使用してdownloadJavadocsもうまくいきませんでした。依存関係プラグイン ワードの使用に関する上記の回答。ただし、ソースと javadoc を自動的にダウンロードしたい場合があります。さらに、常にソース jar と javadoc jar を作成したい場合があります。これをプロジェクトの pom に入れてください。モジュールを使用する場合は、親の pom を入れます。

<build>
    <plugins>
        <!-- download sources and javadoc -->
        <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.10</version>
            <executions>
                <execution>
                    <id>download-sources</id>
                    <goals>
                        <goal>sources</goal>
                    </goals>
                </execution>
                <execution>
                    <id>download-javadoc</id>
                    <configuration>
                        <classifier>javadoc</classifier>
                    </configuration>
                    <goals>
                        <goal>resolve</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <!-- Always create javadoc jar. -->
        <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.10.4</version>
            <executions>
                <execution>
                    <id>attach-javadoc</id>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <!-- Always create source jar. -->
        <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.10</version>
            <executions>
                <execution>
                    <id>attach-sources</id>
                    <goals>
                        <goal>jar</goal>
                        <goal>test-jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
于 2016-08-16T20:21:46.447 に答える
4

ソース/javadoc jar が提供されておらず、リポジトリにない可能性があります。ソース/javadoc jar が存在する必要はありません。

于 2012-07-06T11:33:36.377 に答える