問題タブ [transitive-dependency]
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.
scala - 推移的な依存関係のバージョンの競合を解決する方法 (scala/sbt)
いくつかのユーティリティ クラスを含むプロジェクトがあります。名前を付けましょうUtils
。にproj1
依存する がありますUtils
。そして、 と に依存する別のproj2
もの。proj1
Utils
問題は、 と の両方が異なるバージョンproj1
にproj2
依存している場合、問題が発生することです。Utils
最善の解決策は何ですか?
この状況は Scala/SBT プロジェクトで発生しますが、他の言語でも同じ問題があると思います。
編集:
明確にするために、実行されるプロジェクトはと
proj2
からのコードを使用します。proj1
Utils
hadoop - Gradle は推移的な依存関係 log4j を logback に置き換えます
log4j を推移的な依存関係から logback に置き換えることは可能ですか? これが私のgradle依存関係です(https://github.com/geoHeil/lab04/blob/master/build.gradle):
私の場合:
- 私はGradleが初めてです
- Hadoop プロジェクトの作業
- 現在のロガーを使用したいなど
logback
log4jを置き換えたはずなのに、今のところ動作しないようです。そして、警告は持続します:
maven - Maven: バージョンの競合が発生した場合に推移的な依存関係の解決を構成する
Maven の依存関係解決メカニズムは、指定したバージョン (1.2.3 など) を下位バージョン (1.0.0) に置き換えることができると読みましたが、この別のバージョンが依存関係ツリーで「近い」場合です。バージョン番号を角括弧 ([1.2.3] のように) で指定することにより、この動作を除外できることはわかっています。
バージョン競合の動作をグローバルに定義できるかどうかを知りたいですか? バージョンの競合はそのバージョンの競合の最新バージョンに解決され、常にエラー メッセージが表示されるとグローバルに言えますか?
maven - 依存関係の依存関係を除外して再宣言するポイントは何ですか?
プロジェクトの pom にいくつかのパターンがあることに気付きました。次のような依存関係グラフがあります: あなたのプロジェクト A -> 他のプロジェクト B -> B の依存関係 プロジェクト C. プロジェクト B は A の pom で依存関係として宣言され、B の依存関係 C は B から除外され、直接の依存関係として再宣言されます。プロジェクトA. Mavenドキュメントが「最も近い」依存関係を公然と述べている場合、この除外のポイントは何ですか?したがって、直接宣言すると、Mavenは推移的なバージョンの代わりにそのバージョンを使用しますか?