問題タブ [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 - aether を使用して単一の解決済みアーティファクトとして Maven 依存関係を取得する方法は?
Java プロジェクトで Maven アーティファクトの依存関係を解決するために Aether を使用しています。直接的な依存関係 (推移性なし) を見つけて、それらを 1 つの解決済みアーティファクトにしたいと考えています。
シュリンクラップを使用する場合、次のようにします
推移性のない依存関係を見つけるために、次のものがあります
これにより、すべての依存関係のリストが得られます。これらの依存関係の単一の jar を取得するにはどうすればよいですか? エーテルを使用してこれをどのように達成できますか? これら 2 つのライブラリの違いに関するドキュメントはありますか? 言い換えれば、Aether の「MavenResolvedartifact」(shrinkwrap など) に相当するものは何ですか? 生のJavaを使用して単一のjarに変換できるようにするには?
scala - Play 2.3.8 での複数の SLF4J バインディング
Scala 2.11 で Play Framework 2.3.8 (Java 用) を使用しています。
次の警告が表示されます。
SLF4J: クラスパスに複数の SLF4J バインディングが含まれています。
SLF4J: [jar:file:/Users/vdanylchuk/.ivy2/cache/org.slf4j/slf4j-simple/jars/slf4j-simple-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class でバインドが見つかりました]
SLF4J: [jar:file:/Users/vdanylchuk/.ivy2/cache/ch.qos.logback/logback-classic/jars/logback-classic-1.0.13.jar!/org/slf4j/impl/ でバインドが見つかりましたStaticLoggerBinder.class] SLF4J: 説明については、http: //www.slf4j.org/codes.html#multiple_bindings
を 参照してください。
これにより、実行時にランダムな方法で実際の問題が発生します。デプロイされたホストの一部では、すべてがうまくいき、ログが構成どおりに書き込まれます。他のホストでは、間違ったバインディングが優先され、ログが間違った場所に書き込まれます。展開プロセスはスクリプト化されており、まったく同じです。したがって、 http://www.slf4j.org/codes.html#multiple_bindingsの警告は正しく、これはランダムであるため、余分なバインディングを削除する必要があります。
おもしろいことに、どちらも Play フレームワークから来ています。logback-classic (私が実際に使用したい) は play ライブラリから取得され、slf4j-simple は play sbt プラグインから取得されます。
こことメーリングリストで同様の質問をたくさん読みました。例: Play 2.3.x の起動時に "SLF4J: クラスパスに複数の SLF4J バインディングが含まれています" を修正するには? 一般的な解決策は、何らかの形式の除外ルールを使用することです。提案された解決策はどれもうまくいきませんでした。[更新: 実際、そうです - 以下の解決策を参照してください。] slf4j-simple が最終的なクラスパスに現れるとは思いませんが、そうです。プロジェクトのすべての依存関係に excludeAll(ExclusionRule(organization = "org.slf4j")) を追加しましたが、play フレームワークは除きます。
slf4j-simple を取り除く方法についてのアイデアはありますか? ビルド結果のクラスパスを手動でクリーンアップせずに、できれば sbt プロジェクト レベルで。
更新: 再現手順
小さなテストプロジェクトで絞り込みました。play sbt プラグインと、私たちが使用する aether-deploy プラグインの組み合わせによってトリガーされることが判明しました。この小さな構成で十分です。
build.sbt:
プロジェクト/plugins.sbt:
プロジェクト/build.properties:
次に、"sbt test:compile" または "sbt run" を実行 (および localhost:9000 にクエリ) して、警告を表示します。scala 2.10 でも同じように動作します。
java - Aether によって解決された依存関係から URL を取得する
Maven の依存関係を解決するために aether を使用しています。エーテルの例でこの例に従った後
これは私にList<Dependencies>. これらのアーティファクトの依存関係からファイルを取得するにはどうすればよいですか?
maven - Aether がローカル リポジトリのすべての依存関係を「ダウンロード」するようにするにはどうすればよいですか?
プロジェクトの直接的な依存関係、基本的にはPOMの実行時とコンパイル時の依存関係、および推移的な依存関係を解決しようとしています。このために、次のコードがあります
}
これは正しく機能しますが、依存関係の「解決済み」リストを取得するにはどうすればよいですか。この解決済みのアーティファクトをローカル リポジトリにダウンロードできるようにする必要があります。基本的に、ローカル ディスク上の jar にアクセスできるリストを返す必要があります。
maven - ローカル リポジトリから Maven アーティファクトの最新バージョンをプログラムで取得する方法は?
多くの投稿で、Aetherプロジェクトがアーティファクト リポジトリの操作に役立つことがわかりました。私が望むのは、指定されたgroupIdとartifactIdのみの最高バージョンを取得することです。
Aether wiki では、バージョンも指定するorg.apache.maven:maven-profile:2.2.1アーティファクトのケースを提示しています。
しかし、アーティファクトの最高バージョンであるバージョンを取得する必要があります。どうすればこれを行うことができますか?
java - Maven アーティファクトがリモート リポジトリに存在するかどうかを確認する方法
Java を使用してリモート リポジトリに Maven アーティファクトが存在するかどうかを確認するにはどうすればよいですか。Aether API で提供されるオプションはありますか?