[解決済み】JARパッケージングにおけるmaven scope compileとprovidedの違いについて
2022-03-29 05:56:46
質問
mavenのスコープの違いは何ですか?
compile
と
provided
アーティファクトがJARとしてビルドされたとき?WARであれば、アーティファクトがWEB-INF/libに含まれるかどうかがわかります。しかし、JARの場合、それは重要ではありません - 依存関係は含まれていません。依存関係は含まれません。
compile
または
provided
. 私が知っているのは
provided
依存関係は推移的ではない - しかし、それは1つの違いだけですか?
解決方法は?
からの メイヴンドック :
コンパイル
これはデフォルトのスコープで、何も指定されていない場合に使用されます。コンパイル の依存関係は、プロジェクトのすべてのクラスパスで利用可能です。 さらに、それらの依存関係は依存するプロジェクトに伝搬されます。
提供
これはコンパイルとよく似ていますが、JDKまたは コンテナは、実行時に依存関係を提供します。たとえば、次のような場合です。 Java Enterprise Edition 用のウェブアプリケーションを構築する場合、次のようになります。 Servlet API および関連する Java EE API の依存関係を「Servlet API」「Java EE API」に設定します。 スコープが提供されています。この スコープは、コンパイルとテストのクラスパスでのみ使用可能であり、そのスコープは は遷移的ではありません。
振り返ってみてください。
- 依存関係が推移的でない(ご指摘の通りです)
- provided スコープはコンパイルとテストのクラスパスでのみ利用可能ですが、compile スコープはすべてのクラスパスで利用可能です。
- 提供された依存関係はパッケージ化されない
関連
-
[解決済み] Tomcat 9用Mavenプラグイン
-
[解決済み] Mavenプロジェクトをデプロイすると、java.util.zip.ZipExceptionがスローされます:無効なLOCヘッダー(不正な署名)です。
-
[解決済み] MavenにおけるdependencyManagementとdependenciesの相違点
-
[解決済み] Javaにおけるjarとwarの違い
-
Cmake パースエラー。コマンド名を期待したのに、引用符で囲まれていない引数をテキスト " " で受け取りました。
-
[解決済み】Intellij IDEAがすべてのMaven依存性を再読込するように強制する。
-
[解決済み】Mavenがどのsettings.xmlファイルを使用しているかを判断するMavenコマンド
-
[解決済み】githubでMavenリポジトリをホスティングする
-
[解決済み】maven-shade-pluginは何に使うのか、なぜJavaパッケージを再配置したいのか?
-
[解決済み] pom型の依存関係で、スコープがimportの場合とimportでない場合の違いは何ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Maven 3とJUnit 4のコンパイルの問題:パッケージorg.junitが存在しない
-
[解決済み] Maven。解決できない親POM
-
[解決済み】Maven 依存関係を解決できず、アーティファクトを解決できなかった
-
[解決済み] Mavenの依存関係を除外する
-
[解決済み] Mavenプロジェクト.ビルド.ディレクトリ
-
[解決済み] Mavenプロジェクトをデプロイすると、java.util.zip.ZipExceptionがスローされます:無効なLOCヘッダー(不正な署名)です。
-
[解決済み】Intellij IDEAがすべてのMaven依存性を再読込するように強制する。
-
[解決済み】Mavenがどのsettings.xmlファイルを使用しているかを判断するMavenコマンド
-
[解決済み】1つのgradleファイルに複数のmavenリポジトリが存在する場合
-
[解決済み】別のディレクトリからMavenを実行する方法(プロジェクトディレクトリにcdしない)?