2013-07-05 6 views
6

3質問:javadocsとのMaven依存性

以下はJUnitの2つの依存関係です。私は何時間もインターウェブを精練していて、2番目がJavadoc +コードかJavadocだけであるかどうかを判断できないようです。私はどちらかまたは両方を必要としますか?さらに、Javadocをプロダクションビルドではなく開発用のプロジェクトに組み込む最も効果的な方法は何ですか? (私は手動ですべてのマシン上のすべての依存関係のJavadocをダウンロードしないことを好むだろう。)

<dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>4.11</version> 
</dependency> 

~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~

<dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>4.11</version> 
    <classifier>javadoc</classifier> 
</dependency> 

EDIT:質問:

  • これらの依存関係の違いは何ですか?
  • 依存関係を使用するには、&が必要ですか?
  • 開発にJavadocを組み込むためのベストプラクティスは何ですか?
+0

:http://stackoverflow.com/questions/5780758/maven-always-download-sources-and-javadocs –

+0

@Andreas_D私は前にその1を見て。私は推奨された追加を行いましたが、このステップで少し失われました: "そして、activeProfilesに新しいプロファイルが含まれていることを確認してください。" – AnthonyW

+0

答えのコードを '〜/ .m2/settings.xml'ファイルにコピーすれば十分です。プロファイル要素をプロファイルに追加する必要があるかもしれません(既に定義されている場合) –

答えて

8

一般的に言えば、あなたのIDEは、あなたのためのjavadocの解決をmavenプロジェクトで処理します。これは、IDEがmavenを理解していることを前提としています。 netbeans、intellijまたはeclipse w/m2e。

2番目の成果物はjavadocsのみです。最初のアーティファクトはコードです。依存関係としてjavadoc成果物を含めることは、決して正当な理由ではありません。

+2

感謝します!その2番目の段落だけで、SOに関する半ダースの未解決の質問について答えています。 – AnthonyW

+1

私はEclipse w/m2eを使用しています。一旦私が依存関係を結ぶと、この例のJUnitは、どこか右クリックしてドキュメントを引っ張るように指示できますか? – AnthonyW

+4

JUnitのいずれかのメソッドをctrl +クリックすると、コードが引き込まれます。その後、メソッド(例えば 'org.junit.Assert.assertNotNull')の上にマウスを置くと、javadocsがまだ起動していなければ、それらが表示されます。 –

1

Eclipseでmavenプロジェクトを作成したときにこの問題が発生しました。javadocも自分の依存関係のソースもプロジェクトに添付されていませんでした。追加する依存関係は不思議です。私は私のpom.xmlに

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-source-plugin</artifactId> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-javadoc-plugin</artifactId> 
     </plugin> 
    </plugins> 
</build> 

を追加して助けた何

。そうすれば、最初の依存関係を使用するだけでよく、maven/eclipseは2番目のダウンロードを処理します(もう1つの答えで指摘されているとおり、javadocのみ)。

6

一般に、Javadocは依存関係として主に使用されません。これらはコンパイル時でも実行時でも必要ないためです。開発やデバッグ中に開発者を助けるだけです。

java IDE Eclipseを使用すると仮定すると、参照されたjavaドキュメントを使用できます。以下に、javadocs/sourcesをそれぞれのjarに関連付けることができるアプローチを示します。

1.それは非Mavenプロジェクトだ場合: は、javadocをジャーまたはZIPファイルをダウンロードして利用できるものは何でも、いくつかのディレクトリにそれを置きます。 IDE Eclipseでアプリケーションプロジェクトを右クリックし、[プロパティ]をクリックして[Javaビルドパス]を選択し、[Javaビルドパス]の下にある[ライブラリ]タブを選択します。今すぐjava docs/sourceとリンクしたいジャーを展開してください。 Javadocの場所リンクを選択して「編集」ボタンをクリックすると、javadocs jarパスを選択するための新しいウィンドウが表示されます。 OKをクリックすると、javadoc/sourceがそれぞれのjarファイルにリンクされています。

enter image description here

2。Mavenプロジェクトの場合

Mavenプロジェクトを使用している場合は、プロジェクトエクスプローラビューのプロジェクトのMaven依存関係下にあるjarファイルに以下のように移動します。 Javadoc /ソースを追加するjarファイルを右クリックし、Mavenを選択して、プロジェクトにリンクするJavadocまたはSourceをクリックします。 IDEは必要なjavadoc/sourceを自動的にダウンロードし、プロジェクトのそれぞれのjarにリンクします。

enter image description here

あなたはIDEでプロジェクトを右クリックすることで、これを確認することができますし、パスをJavaビルドをクリックして、Javaのビルド・パスの下にライブラリ]タブを選択し、クリックしたときに、その後、ここで、必要なjarファイルを展開します「編集」ボタンをクリックすると、Javadoc/Sourceのリンクされたパスがそれぞれのjarに表示されます(下の図を参照)。

enter image description here

3.それはMavenプロジェクトだと、私たちは、デフォルトの動作を設定する場合:

Eclipseはaquatically始動時の主必要なjarと一緒のjavadoc /ソースをダウンロードします。 デフォルトでは、プロジェクトにリンクされているすべてのjarのJavadoc/sourcesをダウンロードするようにMavenに指示します。

のWindowsをクリックします - プ - あなたは新しいMavenプロジェクトを作成するときに

enter image description here

下に示すように、アーティファクトのJavadocをダウンロードMavenを選択し、チェックボックスをクリックして今すぐデフォルトでは、今のJavadocを、それを適用し、保存をクリックして、プロジェクトのすべての依存jarとダウンロードされ、リンクされます。
プロジェクトとプロパティを右クリックして確認することができます。また、Java Build pathの下に表示されるjavadocsは、以下に示すようにすべてのjarファイルにリンクされています。

enter image description here

をあなたのプロジェクトはその後、Mavenプロジェクトである場合には、このためにアプローチIDEとMavenを使用して第二のアプローチを使用することが常に最善だのJavadoc /ソースの正しいバージョンをダウンロードするの世話をし、それをリンクし相対的な瓶も同様です。

アプローチ3は、javadoc/sourcesがすべての依存jarsのためにダウンロードされるため、多少コストがかかります。依存するjarsのjavadocs/sourcesには関心がないかもしれません。 (私は右のあなたの質問のいずれかを取得する場合)これは役立つはず