問題タブ [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.

0 投票する
1 に答える
97 参照

java - 必要な競合する Java 依存関係を管理する方法

私のJavaプロジェクトで使用する必要がある(必須)fizz-1.0.jarとしましょう。buzz-2.3.2.jar今、 にfizz-1.0.jar依存しfoo-0.1.35.jar、 にbuzz-2.3.2.jar依存しfoo-4.2.17.jarます。

foo-0.1.35.jarWidget次のようなクラスが含まれています。

foo-4.2.17.jarの大幅に変更されたバージョンが含まれていますWidget:

残念ながら、fizz-1.0.jarとの両方buzz-2.3.2.jarが の両方のバージョンを多用していますWidget

の両方のバージョンを盲目的にfoo-x.y.z.jarクラスパスに追加することはできません。Widget最初にロードされた方が または のいずれかでしか機能しないためfizz-1.0.jarですbuzz-2.3.2.jar

ここでのオプションは何ですか? との両方が必要であり、推移的な依存関係をすべて満たさなければならないことを忘れないでください。fizz-1.0.jarbuzz-2.3.2.jar

0 投票する
1 に答える
369 参照

java - Maven 依存関係階層 - 含めるか含めないか

サブモジュールを含むプロジェクトがあります。

ProjA は、ProjX に依存する ProjY に依存しています。

ProjA で ProjY の依存関係を指定しています。ProjX の依存関係を ProjA に個別に含める必要がありますか? (推移的な依存関係?)

また、ProjB が ProjX に依存している場合はどうなるでしょうか? それは別に入れるべきですか?または、それを Porj (メイン) レベルに含めることができますか?

0 投票する
1 に答える
3205 参照

java - Maven の除外が機能しない

私は、の依存関係と、の依存関係をJUnit 4.11持つ推移的な依存関係を持つプロジェクトに取り組んでJMock 2.6.0-RC2JUnit-dep 4.4ます。のこの推移的な依存関係はJUnit-dep、ローカルの pom for の設定をオーバーライドしていますJUnit。オーバーライドするとは、JUnit メソッドを呼び出すときに、v4.11 ではなく v4.4 のメソッドを呼び出すことを意味します。JMockforおよび for の除外を追加しJUnit-depても、解決された依存関係には影響しませんでした。

注: JUnitJUnit-depは別個artifactIdの であるため、一方を使用しても他方が省略されることはありません。


前の質問: JUnit アノテーションが機能しない

JUnit のルールを使用してテストを実行しようとしていますが、テストを実行するExpectedExceptionと、ルールが実行されていないように見えます。以下のコードでは、ルールが存在しない場合に予想されるように、例外はそのまま通過し、テストに失敗します。

最近、プロジェクトの Maven 依存関係を 4.3.1 から 4.11 に変更しました。ワークスペースのクリーンビルドも行いました。この問題を解決するには、どのような手順を検討する必要がありますか? Maven からの推移的な依存関係はランナーを混乱させますか? どうすれば 4.11 で実行していることを確認できますか?

編集:

それが役立つかどうかはわかりませんが@RunWith(BlockJUnit4ClassRunner.class)、クラスのトップに追加すると、次のことがわかりました。

編集:

Eclipse で m2e を介して依存関係を調べる: pom の [依存関係階層] タブを確認すると、左側に 1 つの解決済み依存関係(JUnit: 4.11) と複数 (4.11 との競合のため省略) のバージョンが表示されます。さらに、junit-dep 4.4の解決済み依存関係jmock-junit4: 2.6.0-RC2 ありますが、この依存関係を除外 ( Right-click + Exclude Maven Artifact...) としてマークしました。さらに、JMock 自体は、私自身の への呼び出しと競合するため、省略されているとマークされていますJMock 2.1.0

編集: Ctrl+Shift+T RunWith除外にもかかわらず、4.4 と 4.11 の 2 つのバージョンが表示されます。

編集:問題 を「修正」した依存関係を追加しjunit-dep 4.10、最終的に4.4バージョンの作成に関する問題を省略しました。しかし、これは解決策というよりハックのようです。

0 投票する
2 に答える
8644 参照

gradle - Gradle のすべての依存関係から特定の推移的な依存関係を無視する方法

Gradleで特定の推移的な依存関係を無視するにはどうすればよいですか?

たとえば、多くのライブラリ (Spring など) は に依存しており、(およびその jcl-over-slf4j ブリッジ)commons-loggingに置き換えたいと考えています。commons-loggingSLF4J

私のgradleスクリプトで、依存する依存関係ごとではなく、一度言及する方法はありますcommons-loggingか?

すべての依存関係を反復しexclude、それらすべてにいくつかを追加するスクリプトを考えていましたが、より良い解決策はありますか? そして、そのスクリプトはどのようになりますか?