javadoc が依存関係にアタッチされていない場合に、Maven の Eclipse プラグインで javadoc を依存関係に参照する方法
質問
私は開発に Eclipse、Maven、Java を使用しています。私は Maven を使用して依存関係 (jar ファイルと javadoc (利用可能な場合)) をダウンロードし、Maven の Eclipse プラグインを使用して Eclipse の .project ファイルと .classpath ファイルを生成します。ダウンロードした依存関係に javadoc が添付されていない場合は、.classpath ファイルに javadoc へのリンクを手動で追加して、Eclipse で依存関係の javadoc を確認できるようにします。次に、Maven の Eclipse プラグインを実行して .classpath ファイルを再生成すると、当然その変更は消去されます。
Maven の Eclipse プラグインの実行時に javadoc のクラスパス属性を自動的に追加するように Maven の Eclipse プラグインを構成する方法はありますか?
私が興味があるのは、javadoc やソースが Maven リポジトリ内の依存関係に対して提供されていない場合の回答のみです。これは私にとって最もよくあるケースです。downloadSources や downloadJavadocs プロパティを使用しても、この問題は解決されません。
解決
この問題を完全に回避するには、次のコマンドを使用して javadoc jar をローカル リポジトリに手動でインストールすることを検討してください。 インストールファイルの目標 そして -Dclassifier=javadoc オプションを渡します。これを実行すると、mvn が生成する .classpath が正しいはずです。
リモート リポジトリを中央リポジトリへのプロキシとして使用する場合は、javadoc をそのリポジトリにデプロイすることもできます。そうすれば、そのプロキシを使用する他のすべてのユーザーも自動的に javadoc を取得できるようになります。
他のヒント
Maven Eclipse プラグインから よくある質問
次の例は、コマンドラインでこれを行う方法を示しています。
mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true
または、pom.xml 内で次のようにします。
<project> [...] <build> [...] <plugins> [...] <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-eclipse-plugin</artifactId> <configuration> <downloadSources>true</downloadSources> <downloadJavadocs>true</downloadJavadocs> </configuration> </plugin> [...] </plugins> [...] </build> [...] </project>
私は基本的に Eclipse + Spring ツールである STS 2.8.1 を実行しています。既存の Maven プロジェクトで、プロジェクトを右クリック -> Maven -> ソースのダウンロードおよび JavaDocs のダウンロード
で述べたように Maven Eclipse プラグインを使用して他のリポジトリからソースと javadoc アーティファクトをダウンロードするにはどうすればよいですか?, 、 あなたはこれを行うことができます:
Eclipse で、[Windows] -> [設定] -> [Maven] に移動します。「Artifact Javadocをダウンロード」というボックスを確認してください。それは私にとってうまくいきました。
一般に、Javadoc は主に依存関係として使用されません。これらはコンパイル時や実行時に必要ないためです。これは、開発またはデバッグ中に開発者を支援するためだけです。
Java IDE Eclipse を使用していると仮定すると、Java ドキュメントを参照して使用できます。以下に、javadoc/ソースをそれぞれの jar に関連付けることができるアプローチを示します。
1.非 Maven プロジェクトの場合:
利用可能な javadocs jar または zip ファイルをダウンロードし、ディレクトリに配置します。IDE Eclipse でアプリケーション プロジェクトを右クリックし、[プロパティ] をクリックして [Java ビルド パス] を選択し、次に Java ビルド パスの下の [ライブラリ] タブを選択します。次に、Java docs/source にリンクする jar を展開します。Javadoc の場所のリンクを選択し、「編集」ボタンをクリックすると、Javadocs jar パスを選択する必要がある新しいウィンドウが表示されます。「OK」をクリックすると、javadoc/source がそれぞれの jar にリンクされました。
2.Maven プロジェクトの場合
Maven プロジェクトを使用している場合は、以下に示すように、プロジェクト エクスプローラー ビューでプロジェクトの下の Maven 依存関係にある jar ファイルに移動します。次に、Javadoc/ソースを追加する jar ファイルを右クリックし、[Maven] を選択して、プロジェクトにリンクする Javadoc またはソースをクリックします。これで、IDE は必要な javadoc/source を自動的にダウンロードし、それをプロジェクト内のそれぞれの jar にリンクします。
これを確認するには、IDE でプロジェクトを右クリックし、[Java ビルド パス] をクリックし、Java ビルド パスの下の [ライブラリ] タブを選択して目的の jar を展開します。ここで、[編集] ボタンをクリックすると、次のリンクされたパスが表示されます。以下の図に示すように、Javadoc/ソースとそれぞれの jar を関連付けます。
3.それが Maven プロジェクトであり、デフォルトの動作を設定している場合:
Eclipse は、開始時に主に必要な jar とともに javadoc/source を水中にダウンロードします。デフォルトでは、プロジェクト内でリンクされているすべての jar の Javadoc/ソースをダウンロードするように Maven に指示が設定されています。
以下に示すように、「Windows」-「環境設定」-「Maven」を選択し、「Download Artifact Javadoc」チェックボックスをクリックします。
[適用] をクリックして保存すると、新しい Maven プロジェクトを作成すると、デフォルトで Javadoc がダウンロードされ、プロジェクト内のすべての依存 jar にリンクされます。
プロジェクトを右クリックして [プロパティ] を選択すると、以下に示すように Java ビルド パスで javadoc がすべての jar にリンクされていることを確認できます。
プロジェクトが Maven プロジェクトの場合は、常に 2 番目のアプローチを使用することが最善です。このアプローチを使用すると、IDE と Maven が正しいバージョンの Javadoc/ソースをダウンロードし、それを相対的な jar にもリンクするためです。
3 番目のアプローチは、依存するすべての jar の javadoc/sources がダウンロードされるため、少しコストがかかります。依存するすべての jar の javadoc/sources には興味がないかもしれません。
依存関係のソースがあれば役立つでしょうか?次のコマンドを使用して、Eclipse プラグインにそれらをダウンロードする (そして .classpath で参照する) ように指示できます。 -DdownloadSources=true