Maven(およびMaven Eclipse Integration)を使用して、EclipseのJavaプロジェクトの依存関係を管理しています。 MavenリポジトリーからのJARファイルの自動ダウンロード機能は、リアルタイムの節約になります。残念ながら、APIドキュメントとソースコードは含まれていません。
ソースとjavadocの添付ファイルも自動的に取得してEclipseに適切に登録するようにMavenを設定するにはどうすればよいですか?
Eclipse用のm2Eclipse Mavenプラグイン-反対に-ができると確信しています。ソースファイルとjavadocの両方を自動的にダウンロードするように設定できます。
これは、[ウィンドウ]> [設定]> [Maven]に移動し、[アーティファクトソースのダウンロード]および[アーティファクトJavaDocのダウンロード]オプションをチェックすることで実現できます。
mvn Eclipse:eclipse -DdownloadSources=true
または
mvn Eclipse:eclipse -DdownloadJavadocs=true
または、スペンサーKが指摘するように、両方のフラグを追加できます。
さらに、=true
の部分は必須ではないため、使用できます
mvn Eclipse:eclipse -DdownloadSources -DdownloadJavadocs
この作業に関する他の回答もありますが、コマンドライン引数を覚えておく必要がない場合は、pom.xmlのmaven-Eclipse-pluginセクションにdownloadSourcesおよびdownloadJavadocs構成を追加することもできます。
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-Eclipse-plugin</artifactId>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
... other stuff ...
</configuration>
</plugin>
</plugins>
</build>
...
</project>
ソース/ Javadocダウンロード設定をプロジェクトpom.xml
ファイルに入れたくないのは、これらがプロジェクトのプロパティではなくユーザーの好みだと思うからです。代わりに、settings.xml
ファイルのプロファイルにそれらを配置します。
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.Apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.Apache.org/SETTINGS/1.0.0 http://maven.Apache.org/xsd/settings-1.0.0.xsd">
<profiles>
<profile>
<id>sources-and-javadocs</id>
<properties>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>sources-and-javadocs</activeProfile>
</activeProfiles>
</settings>
プロジェクトを右クリック-> maven->ソースをダウンロード
ソースjarがローカルリポジトリにあり、Eclipse Mavenサポートを使用している場合、ソースは自動的に添付されます。 mvn dependency:sources
を実行して、特定のプロジェクトのすべてのソースjarをダウンロードできます。しかし、ドキュメントで同じことをする方法がわかりません。
Meclipseを使用している場合
ウィンドウ-> maven->アーティファクトソースのダウンロード(チェックを選択)
(ソースの添付ウィンドウが表示される場合は、ファイルの添付ボタンをクリックしてソースの添付ウィンドウを閉じます。次回ソースを表示しようとすると、正しいソースが開きます)
スラジズ
Windows-> pref ..-> Mavenを試しましたが、うまくいきませんでした。したがって、コマンドmvn Eclipse:eclipse -DdownloadSources = trueを使用して新しいクラスパスを作成し、ワークスペースを1回更新しました。出来上がり。ソースが添付されました。
ソースjarのエントリはクラスパスで利用可能です。したがって、新しいビルドは問題を解決しました...
これに答える 類似の質問 もあり、pom設定の例を含みます。
Eclipse-Mavenプリファレンスでダウンロードソース/ javadocを確認するだけでは不十分な場合があります。何らかの理由でmavenがそれらのダウンロードに失敗した場合(ネットワークの停電?)、mavenはいくつかの* .lastUpdatedファイルを作成し、その後再びダウンロードすることはありません。私の経験的な解決策は、アーティファクトディレクトリを.m2/repositoryから削除し、ダウンロードソース/ javadocをチェックした状態でEclipseワークスペースを再起動し、起動時にプロジェクトをチェックしたことです。ワークスペースが再起動された後、Eclipseの進行状況のダウンロード中に、エラーが発生したプロジェクトがいくつか表示される場合があります。その後、エラーはすべてクリアされます。この手順はそれほど「科学的」ではないかもしれませんが、私にとっては成功しました。
Source/javadocを含めるようにmaven-Eclipse-pluginのpomを変更すると、pomに追加される新しい依存関係にのみ適用されます。既存の依存関係を適用する必要がある場合は、mvndependency:sourcesを実行する必要があります。これを確認しました。
私のバージョンのEclipse heliosにはm2Eclipseがありません
window --> maven --> Download Artifact Sources (select check)
ウィンドウの下には「新しいウィンドウ」、「新しいエディター」、「パースペクティブを開く」などがあります。
プロジェクトを右クリックして、maven-> download sourcesを選択した場合
何も起こりません。ソースはダウンロードされず、pomファイルは更新されず、どのソースを尋ねるウィンドウもポップアップしません。
Eclipseの外でmvn xxxを実行するのは危険です-一部のコマンドはm2ecilpseで動作しません-私はそれを一度行ってプロジェクト全体を失い、Eclipseを再インストールしてゼロから始めなければなりませんでした。
私はまだecilpseとmavenがservlet-apiのような外部jarのソースを見つけて使用する方法を探しています。
Indigo(およびおそらくHelios)の場合、上記のチェックボックスは次の場所にあります。
ウィンドウ->設定-> Maven
overthink pomのセットアップを使用することを推奨:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-Eclipse-plugin</artifactId>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
... other stuff ...
</configuration>
</plugin>
</plgins>
</build>
...
最初に、これはまだjavadocとソースをアタッチしないと思っていました(以前にその-DdownloadSourcesオプションで失敗しました)。
しかし驚いたことに、.classpathファイルISは、POMバリアントの使用時にソースとjavadocを添付します。
ソースとjavadocsをダウンロードするために、maven-Eclipseプラグインにpom構成を追加しましたが、既存の依存関係ではなく、新しい依存関係に対して起こることを期待しています。
既存の依存関係については、パッケージエクスプローラーで「Maven Dependencies」まで参照し、commons-lang-2.5.jarを右クリックして、Maven |ソースをダウンロードして...何も起こらないように見えました(プログレスバーも何もしていないという表示もありません)。しかし、今はcommons-langのソースにジャンプできるのでダウンロードしました。
私は同様の問題を抱えていましたが、私にとって最適な解決策は、コンパイルされたコードと同じjarにソースを含めることでした(したがって、jar内の特定のディレクトリにはFoo.Java
とFoo.class
の両方が含まれます) 。 Eclipseはソースをコンパイル済みコードに自動的に関連付け、ソースからJavaDocを自動的に提供します。明らかに、これはアーティファクトを制御する場合にのみ役立ちます。
プロジェクトレベルまたはユーザープロパティレベルでプロパティを設定したら、Maven-> Update Project(Force Update)を実行してください。ソースをダウンロードします