Maven –ソースとjavadocsを常にダウンロードする


244

常にソースとjavadocsをダウンロードするようにmavenを構成する方法はありますか?-DdownloadSources=true -DdownloadJavadocs=true毎回の指定(これは通常、mvn compileを2回実行するときに最初に忘れたため、2回実行します)はかなり面倒です。


これはEclipseプラグイン用ですか?とにかくそれほど頻繁に実行する必要はありません...
sjr

1
いいえ、それはコマンドラインプログラム用です。あまり頻繁に実行する必要はありませんが、実行する必要がなかったとしたらすばらしいと思います。
schmmd

1
コマンドラインとは何ですか?これはあなたがmvn eclipse:eclipse正しく行うときですか?
sjr

14
@sjr、はい、ソースとjavadocsをダウンロードするために実行できますmvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true
Yuriy Nakonechnyy 2013年

この質問はまだ答えられていないと思います。受け入れられた回答はEclipseプラグインにのみ関連しています。@AlexisGamarraの答えは最も近いですが、ソリューションの「永続性」を解決しません-mvn installを実行するたびにMavenが常に実行するように設定しません。
Honza Zidek 2017

回答:


265

settings.xmlファイルを開きます~/.m2/settings.xml (存在しない場合は作成します)。プロパティを追加したセクションを追加します。次に、activeProfilesに新しいプロファイルが含まれていることを確認します。

<settings>

   <!-- ... other settings here ... -->

    <profiles>
        <profile>
            <id>downloadSources</id>
            <properties>
                <downloadSources>true</downloadSources>
                <downloadJavadocs>true</downloadJavadocs>
            </properties>
        </profile>
    </profiles>

    <activeProfiles>
        <activeProfile>downloadSources</activeProfile>
    </activeProfiles>
</settings>

6
Maven 2.2.1および3.0.2でこれらのプロファイルプロパティを試してみましたが、機能しません。ターゲットリポジトリはArchivaです。他に何を試すことができるかについての提案はありますか?また、dependency:sourcesゴールを使用してみました。ありがとう
jmend

18
さらに、Eclipseでは、Preferences-> Maven(サブカテゴリなし)に移動するだけです。そこで、「アーティファクトソース/ JavaDocsをダウンロードする」をチェックできます。ただし、Eclipseがそのファイルを手動で作成したくない場合があります(Lunaで私に起こったことがあります)。その場合-そこに行き、設定タグでラップされたこの回答を貼り付け、Eclipseに再ロードするように指示すると、動作するはずです。
AndreiBârsan2014

9
これは私にとってうまくいきました:EclipseでPreferences-> Maven(サブカテゴリなし)に移動します。チェック-「アーティファクトソースのダウンロード」-「アーティファクトJavaDocのダウンロード」-「起動時にMavenプロジェクトを更新する」(手動の方法が見つからないため)次に、Eclipseを再起動します。完了
ダーク

4
これはMaven Eclipseプラグインにのみ影響します。
Jingguo Yao

9
これは受け入れるべき答えではありません!@JingguoYaoが述べたように、これはMaven Eclipseプラグインにのみ影響します。元の質問はEclipseではなく、Maven自体に関係していました。
Honza Zidek 2017

195

私の場合、「settings.xml」ソリューションが機能しなかったため、すべてのソースをダウンロードするためにこのコマンドを使用しました。

mvn dependency:sources

また、他のmavenコマンドで使用することもできます。次に例を示します。

mvn clean install dependency:sources -Dmaven.test.skip=true

すべてのドキュメントをダウンロードするには、次のコマンドを使用します。

mvn dependency:resolve -Dclassifier=javadoc

1
この質問はまだ答えられていないと思います。受け入れられた回答はEclipseプラグインにのみ関連しています。あなたの答えは最も近いですが、ソリューションの「持続性」を解決しません-それはあなたがmvn installを実行するたびに常にそれを行うようにMavenを設定しません。
Honza Zidek 2017

52

ソースとドキュメントのダウンロードに対処するための単一のコマンドを統合して準備しました...

mvn dependency:sources dependency:resolve -Dclassifier=javadoc

42

Googleからの回答

Eclipseでは、javadocソースを自動的にダウンロードできます

それを行うには、プロジェクトを右クリックして使用します

  • Maven-> JavaDocをダウンロード
  • Maven->ソースのダウンロード

3
IDEAでは、モジュールを右クリックして、Mavenメニューの下にソースやドキュメントをダウンロードするオプションがあります
forresthopkinsa

@Betlistaは投稿の最初の行を読みます。多くの人々がグーグルからここに他の何かを探しに行きます。しかし、さまざまなキーワードを使用しても、最終的にはここに入ります
Ghandhikus '28

14

Maven 3.3.3を使用していますが、デフォルトのプロファイルをユーザーまたはグローバルsettings.xmlファイルで機能させることができません。

回避策として、追加のビルドプラグインをpom.xmlファイルに追加することもできます。

<properties>
    <maven-dependency-plugin.version>2.10</maven-dependency-plugin.version>
</properties>
<build>
    <plugins>
        <!-- Download Java source JARs. -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>${maven-dependency-plugin.version}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>sources</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>


4

@ xecaps12が言ったように、最も簡単で効率的なアプローチは、Maven設定ファイル(〜/ .m2 / settings.xml)を変更することですが、それがデフォルト設定である場合は、そのように設定することもできます

<profile>
  <id>downloadSources</id>
  <activation>
    <activeByDefault>true</activeByDefault>
  </activation>
  <properties>
      <downloadSources>true</downloadSources>
      <downloadJavadocs>true</downloadJavadocs>
  </properties>
</profile>

これは実際には機能しません。未使用のグローバルプロパティを宣言するだけです。私は、神話上の解決策がどこから来たと信じてmaven-eclipse-pluginmaven.apache.org/plugins/maven-eclipse-plugin/examples/...
inanutshellus

いいえ、これは「解決済み」の回答を単純化したものです;)
Kraiss

1
「解決済み」バージョンも機能しません。(私もそこで同じコメントをしましたが、あなたと話している間、それを一時的に削除しました。)それで、あなたはあなたの答え(そして解決された答え)が実際にあなたのために働くと言っていますか?つまり、159人のユーザーがその間違った、または古い回答をアップロードしたので、明らかに誰かのために機能します。あなたが言うようにそれが機能する場合、コメントで解決された回答に関するいくつかの人々がそうであるように、私は何か間違っているので、私はそれを学び、それを機能させたいです
inanutshellus

ecliseで実際に開発しているときに、それらのグローバル変数がEclipseプラグインによってチェックされると思います。ソースのフェッチは、コマンドラインのmavenではなく、Eclipseによって行われます。
Jonatan Cloutier 2016年

1

プラグインごとにできると思います。この章を参照Mavenブックのを。

ソースをダウンロードするように依存プラグインを構成できる場合があります(私は自分で試したことがありませんが:-)。


1

Netbeansでは、開いているすべてのプロジェクトでjavadocをチェックするようにMavenに指示できます。

Tools| Options| Javaアイコン| Mavenタブ| Dependenciesカテゴリ| Check JavadocドロップダウンセットEvery Project Openます。

Netbeansを閉じて再度開くと、ステータスバーにMavenダウンロードjavadocsが表示されます。


0

確かではありませんが、settings.xmlでデフォルトのアクティブプロファイルを設定することで、何かを実行できるはずです。

見る

http://maven.apache.org/guides/introduction/introduction-to-profiles.htmlを参照してください


ああ!@ xecaps12で説明されているとおり
pgbsl

9
URLが壊れた場合に備えて、関連する部分をリンクから回答に実際にコピーする必要があります。
ダンカンジョーンズ

0

ファイルを変更するかmvnmvn.cmdWindowsの場合)、必要なコマンドラインスイッチを追加します(他の回答で述べられているように)。インストールファイルを変更したくない場合(私がお勧めします)、パラメータを使用してレギュラーを呼び出すmymvn(またはmymvn.cmd)ラッパーを作成mvnします。


0

jarをダウンロードするには、KeyStoreを使用する必要がありました。証明書関連の問題がある場合は、このアプローチを使用できます。

mvn clean install dependency:sources -Dmaven.test.skip=true -Djavax.net.ssl.trustStore="Path_To_Your_KeyStore"

キーストアの作成方法を知りたい場合、これは非常に良いリンクです: プロキシの背後にあるMavenおよびSSLの使用に関する問題


0

依存関係レベルのソース(pom.xml)の場合は、以下を追加できます。

<classifier>sources</classifier>

0

kevinarpeからの回答をフォローアップするために、これはソースとJavadocの両方を実行します。

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>3.1.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>sources</goal>
                            <goal>resolve</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <classifier>javadoc</classifier>
                </configuration>
            </plugin>
        </plugins>
    </build>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.