問題タブ [aether]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - プログラムでmavenを使用してjarをダウンロードするにはどうすればよいですか
mavens groupid/artifactid/version を指定して jar をダウンロードする必要があるアプリケーションを作成しています。
私は現在から始めます
したがって、POM の URL を指定すると、それを表す Maven Model オブジェクトが得られます。これはうまくいくようです。
私が知りたいのは2つのことです:
- Maven プラグインが使用する Maven リポジトリでモデルが表す jar アーティファクトの URL を見つける
- モデルが与えられたら、ローカル リポジトリで jar を表すファイルを見つけます。
私はすでに低品質のソリューションを持っています.mvnrepository.comにアクセスしてURLを手動でコーディングし、~/.m2/repositoryをファイルのプレフィックスとして使用しています. 私は明らかにこのソリューションを改善できますが、十分にテストされ、maven コードベースでよく使用されているコードを複製することはできません。
Mavenクラスを使用してこれを行う方法を知りたいです。
私はかなりの量のグーグル検索を行ってきましたが、maven と jar に関するものを検索することの面白い点は (stackoverflow であっても)、maven クラスを使用してコーディングする方法ではなく、maven を使用する方法について多くの解決策を見つけることです。
助けてくれてありがとう
maven - Maven とおそらく Aether を使用した複雑な依存関係の解決 - どのように?
次のことを行う Maven プラグインを作成しようとしています: モジュールのすべての依存関係を取得し、その推移的な依存関係が現在のモジュールの兄弟モジュールに推移的な依存関係を持っているかどうかを調べます。
私の考えは次のとおりです。
- モジュールの親 (POM のみの親) を取得してから、そのモジュールをすべて取得して、現在のモジュールの兄弟を見つけます。
- モジュールの推移的な依存関係を取得します (ただし、グループ ID のみ)。
- 推移的な依存関係のそれぞれについて、その推移的な依存関係を取得し、それらのいずれかが兄弟モジュールの 1 つであるかどうかを調べます。
私は Maven 2 スタイルでやってみましたが、今は Aether で終わりました。しかし、Aether で自分のやりたいことができるかどうかはわかりません。
現在、私は POM のみの親 (Aether ではなく MavenProject を使用) を取得でき、推移的な依存関係を取得し、それらをフィルタリングして、グループ ID を持つアーティファクトのみを保持できます。Aether で Maven FilterArtifacts に相当するものが見つかりませんでした。
質問は次のとおりです。目標を達成する方法についての私の考えは正しいですか? エーテルだけでできますか?はいの場合、どうすればよいですか?または、Maven 2 と Aether を組み合わせて使用する必要がありますか? (ちょっとやってみたけどSNAPSHOT版とタイムスタンプSNAPSHOT版の違いがちょっと面倒)
とにかく、どんな助けでも大歓迎です!
java - MavenJavaAPIを使用してリポジトリからMavenアーティファクトを取得する
Mavenアーティファクト情報(GroupId、ArtifactId、Version)がある場合、プログラムで(Javaを使用して)ローカルリポジトリからそのアーティファクトを取得するにはどうすればよいですか?
具体的には、Mavenリポジトリに接続し、org.apache.maven.artifact.Artifactを作成/取得して、Artifactに関連付けられたファイルを取得できるようにする必要があります。
m2eソースコードを調べましたが、MavenImpl.java(アーティファクト解決を提供)は必要なものよりもはるかに複雑であり、リポジトリへの接続がどのように機能するかを理解するのは困難です。
java - プラグインの外部でMavenの依存関係をプログラムで解決する-RepositorySystemSessionとRepositorySystemを取得する
おそらくこれは私が当初考えていたよりも大きなタスクになるでしょうが、それにもかかわらず、私はMavenProject
ファイルからをロードしてその依存関係を解決しようとしています。両方のビットのコードがありますが、必要なオブジェクト参照がいくつかありません。具体的には、とのインスタンスを取得する必要が RepositorySystemSession
ありますRepositorySystem
。任意のヒント?
注:この質問にmaven-pluginのタグを付けましたが、これはMavenプラグインではありません。私はMaven3を義務付けることができてうれしいです(とにかく私はすでに持っていると思います..)
これが私がこれまでに持っているコードです:
の構築MavenProject
:
依存関係の解決:
これは珍しいリクエストかもしれないと思います。たぶん、私がやろうとしていたことを破棄してプラグインとしてラップする必要があります...しかし、私は今始めたことを終わらせたいだけです!前もって感謝します。
maven - org.apache.maven.AbstractMavenLifecycleParticipantでAetherを使用する方法
この例に従って、必要な依存関係をAbtractMavenLifecyleParticipantに注入しました。
http://www.sonatype.com/people/2011/01/how-to-use-aether-in-maven-plugins/
http://maven.apache.org/examples/maven-3-lifecycle-extensions.html
'afterProjectsRead'は完全に呼び出されますが、repoSystem、repoSession、およびremoteReposは常に'null'です。
AbstractMavenLifecyleParticipant内からこれらのオブジェクトを取得するにはどうすればよいですか?
maven - 実行時のMavenアーティファクトの動的ロード
実行時に、私のアプリは動的に機能を追加したいと考えています。Mavenリポジトリからアーティファクトをダウンロードしてクラスパスに追加し、アプリサーバーを再起動せずに使用できるようにしたいと考えています。可能?
Mavenリポジトリへのプログラムによるアクセスを提供するEclipseAetherに出くわしました。ここで欠けているのは動的クラスパスです。
maven - DependencyGraphBuilder を使用して Maven でオーバーライドされたものを含む、すべての推移的な依存関係をプログラムで一覧表示する方法は?
これは他の質問 (このようなもの) と似ていますが、最新の API でこれを実行できるようにしたいと考えています。maven-dependency-plugin:tree verbose オプションは廃止され、最新 (2.5.1) コードでは何もしないため、その方法の良い例はありません。
maven - maven-plugin-testing-harness に DefaultRepositorySystem を挿入するときにエラーが発生しました
既存の (2.0) プラグインに基づいて新しい maven (3.0.3) プラグインを作成しようとしており、いくつかの依存関係を拾うためにエーテルを促進しています。
maven-plugin-testing-harness (バージョン 2.0.1) を使用して mojo をロードする簡単なテストを作成しようとしましたが、lookupMojo は guice 例外で失敗します:
もちろん、これはある時点でリポジトリ システムを参照する必要があるためですが、今すぐではありません。
バージョン 2.1 を試してみました (実際に開始しました) が、AbstractMojoTestCase#setUp() メソッドで問題が発生しました。
いずれにせよ、何を含める必要があるのか 、クックブックと同様のバニラモジョロードテストをどこで行うべきかわからない. 誰かアイデアはありますか?
maven - エーテルを使用してすべてのMaven依存関係を取得するにはどうすればよいですか?
エーテルを使用してMavenアーティファクトの依存関係を取得しようとしています。RepositorySystem.collectDependencies()が表示されますが、これはコンパイルと実行時のスコープの依存関係のみをフェッチします。テストや提供を含め、アーティファクトのすべての依存関係を取得するにはどうすればよいですか?