Maven リポジトリからソース JAR を取得する
質問
Maven リポジトリでソース JAR を見つけられるかどうか知っている人はいますか?
解決
Mavenのマイクロヒント:ソースを取得し、Javadocを
あなたは、多くの場合、あなたのライブラリの依存関係のためのソースコードとJavadocを解決するためにあなたのIDEの必要性を見つけるIDEでMavenを使用しているとき。その目標を達成するための簡単な方法はあります。
mvn dependency:sources mvn dependency:resolve -Dclassifier=javadoc
最初のコマンドは、あなたのポンポンファイルに依存関係のそれぞれのソースコードをダウンロードしようとします。
2番目のコマンドは、Javadocをダウンロードしようとします。
Mavenは、ここで、ライブラリパッケージャの慈悲です。だから、そのうちのいくつかは、ソースコードがパッケージ化されていませんし、それらの多くは、Javadocを持っていません。
あなたは依存関係の多くを持っている場合、また、使用するのは良い考えかもしれません 具体的な成果物を得るために含める/除外するには、次のコマンド 例えばのみ依存性のためのソースをダウンロードします 特定たartifactIdます:
mvn dependency:sources -DincludeArtifactIds=guava
ソース:ます。http:// tedwise .COM / 2010/01/27 / Mavenのマイクロチップ-GET-源アンドのJavadoc / の
ドキュメント: https://maven.apache.org/プラグイン/ Mavenの依存性 - プラグイン/ソース-mojo.htmlする
他のヒント
コマンドラインからEclipseを実行する場合(mvn eclipse:eclipse
)
<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>
プロジェクトがプロジェクト ソースの jar を作成し、それを Maven リポジトリにデプロイすると、それが見つかります:)
参考までに、ソース アーティファクトは通常、 maven-ソース-プラグイン. 。このプラグインは、プロジェクトのメイン ソースまたはテスト ソースを jar アーカイブにバンドルできます。 ソースプラグインの構成:
(...) 生成された jar ファイルには、
finalName
メインソースの場合は「-sources」を追加します。それ以外の場合は、次のようになりますfinalName
テスト ソースの場合は「-test-sources」を加えます。
アーティファクトを説明するために指定された追加のテキスト (ここでは「-sources」または「-test-sources」) は分類子と呼ばれます。
分類子を使用するアーティファクトへの依存関係を宣言するには、単に <classifier>
要素。例えば:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.7.ga</version>
<classifier>sources</classifier>
</dependency>
通常はこれを行わないことに注意してください。ほとんどの IDE は、ソース (および/または JavaDoc) への依存関係を明示的に宣言せずにメイン アーティファクトからソース (および/または JavaDoc) をダウンロードするサポートを提供します。
最後に、一部のリポジトリ検索エンジンでは、分類子を使用したアーティファクトの検索が可能であることにも注意してください (少なくとも Nexus では高度な検索が可能です)。見る この検索 例えば。
ダウンロードするには、いくつかの特定のソースやJavadocのを我々はGroupIds含める必要がある -
以下のようにそのカンマ区切りmvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=sources
私たちはjavadocのように分類器で上記のコマンドをもう一度実行する必要がJavadocをダウンロードするには、分類器は、コンマ区切りされていないことに注意してください。
mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=javadoc
IntelliJのアイデアのための Mavenのアイデアプラグインには、あなたがかどうかを指定することができますソースとJavaのドキュメントを解決して、ダウンロードする必要がありません。
mvn idea:idea -DdownloadSources=true -DdownloadJavadocs=true
どのアーティファクトの使用をダウンロードするには、
mvn dependency:get -Dartifact=groupId:artifactId:version:packaging:classifier
これはなりGroovyのソースの場合
mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:sources
Groovyのjavadocのためにあなたが使用する
mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:javadoc
これは、ローカルのMavenリポジトリ、すなわち通常$HOME/.m2/repository
に与えられたアーティファクトを置きます。
dependency:sources
だけで、プロジェクトの依存関係ソースではなく、プラグインのソースやプラグイン内で定義された依存関係のソースをダウンロードします。
この関連質問で情報を見つけることができます。 Maven 管理の依存関係のために Eclipse に添付されたソース jar ファイルを取得します
Eclipse Maven プラグインを使用する場合は、「mvn eclipse:eclipse -DdownloadSources=true」を使用します。
右あなたのマシンの場所にEclipseを使用している場合、あなたはまた、オープン環境設定> Mavenと選択しダウンロードアーティファクトソースは、これはそのままのpom.xmlを聞かせでき、(選択した場合)あなたのソースまたはJavaのドキュメントを維持するだけの開発のために〜 /.m2
日食の場合
- を右クリックして、
pom.xml
- 選択する
Run As
->Maven generate-sources
デフォルトでは.m2フォルダーにソースが生成されます。
前提条件:
Maven は Eclipse で構成する必要があります。
Eclipseで - [プロジェクト]をクリックします。
彼らがアップロードされている場合は、することができます。一般的に、彼らは、
「frameworkname・バージョンのソース(S)」と呼ばれていますNetBeansの、コンテキスト・クリックしてください
Mavenの主導のプロジェクトでのNetBeans 8 のでは、単にjarファイルのコンテキストクリックあなたが関心のある依存関係のファイルのリスト項目。 Download Sources
を選択してください。瞬間を待って利用可能な場合はNetBeansは、自動的に、ソースコードをダウンロードしてインストールします。
同様に、あなたは、ローカルにインストールドキュメントを取得するためにDownload Javadoc
を選択することができます。そして、あなたはエディタでいくつかのコードをコンテキストクリックして、Javadocを参照してくださいすることを選択できます。
Eclipse (Kepler) で Maven コンソールを観察すると、ソースがまだダウンロードされていないエディターで Maven 依存関係からクラスを開こうとすると、Maven 依存関係のソースが自動的にダウンロードされます。これは、すべての依存関係のソースを取得したくないが、事前にどれが必要かわからない (Eclipse を使用している) 場合に便利です。
結局使いました @GabrielRamierez のアプローチ, 、しかし採用します @PascalThevent のアプローチ 今後。
私はまた、Eclipseワークスペースにプロジェクトを取得するためにEclipseプラグインを使用していました。 私は別のプロジェクトで働いてきたので、私は日食ではなくのmaven-日食 - プラグインなしで作業することが可能であることを見ました。それは、それが簡単に異なる環境で使用できるようになりますし、日食以上のmavenの容易な使用を可能にします。そして、それのpom.xmlファイルを変更せずます。
だから、私はガブリエルラミレスのアプローチをお勧めします。
あなたが知っている場合ののgroupId と aritifactId を、あなたはこのようなダウンロードURLを生成することができます。
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
http://central.maven.org/maven2/ CH / QoSの/ logback / logback-古典/ の
あなたは、このようにページを取得します、あなたが必要なバージョンを選択し、それをお楽しみください! "ここに画像の説明を入力し、" の
あなたには、また、「Javaの逆コンパイラ」を使用することができ、デバッグのために:JADをし、(生成されたソースは、オリジナルと同じになることはありませんが)その場でソースをコンパイル。次に、Eclipseやお気に入りのIDEのプラグインとしてJADをインストールします。