[解決済み] Gradleです。バージョン分類器による推移的依存関係をオーバーライドする
2022-02-10 04:57:47
質問
私のプロジェクトで宣言された依存関係の1つは、次のような推移的依存関係を持っています。
'com.google.guava:guava:15.0'
. しかし、WAS/Weblogic にデプロイした私のアプリケーションは、CDI の問題のために動作せず、その問題は
'com.google.guava:guava:15.0:cdi1.0'
. (同じバージョンですが、クラシファイアがあります) ビルドとパッケージング中に、このjarを使用するようにgradleに指示する必要があります。私は、jar固有のバージョン分類子で、この推移的依存関係をどのように乗り越えられるかについて考えています。
以下のアプローチを試してみました。
-
依存関係を明示的に追加した。
compile 'com.google.guava:guava:15.0:cdi1.0'
. しかし、両方の jar が結果の WAR に含まれるようになりました。 -
依存関係を明示的に追加し、解決策を定義しました。
configurations.all { resolutionStrategy { force 'com.google.guava:guava:15.0:cdi1.0' } }
これでもダメだったんです。
-
バージョンを確認し、変更する解決策を定義しました。
configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> if (details.requested.group + ":" + details.requested.name == 'com.google.guava:guava') { details.useVersion "15.0:cdi1.0" //details.useTarget "com.google.guava:guava:15.0:cdi1.0" } } }
これでもダメだったんです。
この問題にどのように取り組むことができるか、あなたの提案が必要です。
解決方法は?
現在、クラシファイアは、まだ考慮されていません。
レゾリューションストラテジー
. 回避策としては、依存関係を宣言する際にトランジティブなGuavaライブラリを除外し、Guavaの
cdi1.0
のバージョンを明示的に指定します。
dependencies {
compile ("org.acme:someDependency:1.0"){
exclude group: 'com.google.guava', module: 'guava'
}
compile "com.google.guava:guava:15.0:cdi1.0"
}
関連
-
[解決済み】javaで指定されたファイルが見つからない
-
[解決済み】Javaで無限大を実装する方法とは?
-
[解決済み】keytoolエラー 鍵屋が改ざんされたか、パスワードが不正確だった場合
-
[解決済み] java.lang.UnsupportedClassVersionError を修正する方法。サポートされていないメジャー.マイナーバージョン
-
[解決済み] Android StudioのGradleとは?
-
[解決済み] Gradleのimplementation, api, compileの違いは何ですか?
-
[解決済み] gradleに依存関係を強制的に再ダウンロードさせるには?
-
[解決済み] Mavenに最新バージョンの依存関係を使用するように指示するにはどうすればよいですか?
-
[解決済み] テストなしでGradleビルド
-
[解決済み] build.gradle ファイルにローカルの .jar ファイルの依存関係を追加するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー:'if'のない'else'エラー
-
[解決済み】エラー:配列または java.lang.Iterable のインスタンスに対してのみ反復処理を行うことができます。
-
[解決済み】"比較メソッドはその一般契約に違反する!"
-
[解決済み】Doubleはdereferencedできない?
-
[解決済み】「'void' type not allowed here」エラーの原因とは?
-
[解決済み】Javaクラスの "型に解決できない"
-
[解決済み】Java JDK - doubleからintへの非可逆変換の可能性
-
[解決済み】-XX:MaxPermSizeは何をするのですか?
-
[解決済み】java.io.IOException: 壊れたパイプ
-
[解決済み] JavaでSSLピアが正しくシャットダウンされない