MavenのリポジトリでソースJARを見つけることができるかどうか、誰かが何か考えを持っていますか?
Maven Micro-Tip:ソースとJavadocを入手してください。
IDEでMavenを使用している場合、ライブラリ依存関係のソースコードとJavadocを解決するためにIDEが必要になることがよくあります。その目的を達成する簡単な方法があります。
mvn dependency:sources mvn dependency:resolve -Dclassifier=javadoc
最初のコマンドは、pomファイル内の各依存関係のソースコードをダウンロードしようとします。
2番目のコマンドはJavadocをダウンロードしようとします。
Mavenは、ここでライブラリパッケージャーの責任を負っています。そのため、それらの中にはソースコードをパッケージ化していないものや、Javadocを持っていないものがあります。
依存関係がたくさんある場合は、特定の成果物を取得するために包含/除外を使用することもお勧めです。たとえば、次のコマンドは、特定のartifactIdを持つ依存関係のソースのみをダウンロードします。
mvn dependency:sources -DincludeArtifactIds=guava
出典: http://tedwise.com/2010/01/27/maven-micro-tip-get-sources-and-javadocs/
ドキュメント: https://maven.Apache.org/plugins/maven-dependency-plugin/sources-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-source-plugin によって作成されます。このプラグインはプロジェクトのメインソースまたはテストソースを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)をサポートしています。
最後に、リポジトリ検索エンジンの中には、分類子を使ってアーティファクトを検索できるものもあることに注意してください(少なくとも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 Idea用の 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を使用している場合は、Preferences> Mavenを開いてDownload Artifact Sourcesを選択することもできます。これによりpom.xmlはそのまま残り、開発のためにソースまたはJava doc(選択されている場合)がそのままマシンの場所に保管されます。〜/ .m2
Eclipseでは
pom.xml
を右クリックRun As
- > Maven generate-sources
を選択前提条件:
MavenはEclipseで設定する必要があります。
Mavenドリブンプロジェクトの NetBeans 8 では、関心のある依存関係のjarファイルリスト項目を単にコンテキストクリックします。 Download Sources
を選択してください。しばらく待つと、NetBeansはソースコードがあれば自動的にダウンロードしてインストールします。
同様に、ドキュメントをローカルにインストールするためにDownload Javadoc
を選ぶことができます。次に、エディタ内のコードをコンテキストクリックして、JavaDocを見ることを選択できます。
アップロードされていれば可能です。一般にそれらは "frameworkname-version-source(s)"と呼ばれます。
Eclipse(Kepler)でMavenコンソールを見ることに基づいて、ソースがまだダウンロードされていないエディターでMaven依存からクラスを開こうとすると、Maven依存のソースが自動的にダウンロードされます。これはあなたがすべての依存関係のためにソースをつかみたくないときには便利ですが、あなたはどれが前もって欲しいのかわかりません(そしてEclipseを使っています)。
私は @ GabrielRamierezのアプローチ を使用してしまいましたが、 @ PascalThiventのアプローチ を使用します今後。
プロジェクトをEclipseワークスペースに取り込むためにEclipseプラグインも使用しました。私は別のプロジェクトに取り組んできたので、Eclipseを使って作業することは可能ですが、Maven-Eclipse-pluginを使わなくても可能です。これにより、さまざまな環境での使用が簡単になり、Eclipse上でmavenを簡単に使用できるようになります。そしてそれはpom.xmlファイルを変更することなく。
だから、私はGabriel Ramirezのアプローチをお勧めします。
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-class /
そして、あなたはこのようなページを得るでしょう、あなたが必要とするバージョンを選んでください、ちょうどそれを楽しんでください!
デバッグには、JADやソースの逆コンパイルなどの「Java Decompiler」を使用することもできます(ただし、生成されたソースは元のものと同じになることはありません)。それからJADをEclipseまたはあなたのお気に入りのIDEのプラグインとしてインストールしてください。