プロジェクトオブジェクトモデル

Mavenプロジェクトにはpom.xmlファイルがあり、プロジェクトの調整、プロジェクトの依存関係、プロジェクト情報、プラグインの目標などが定義されます。

依存関係管理システム(依存関係管理システム)
は、プロジェクトが依存するjarパッケージの統合管理のためのmaven依存関係管理を介して。
例:プロジェクトはjunit4.9に依存しており、junit4.9の依存関係の定義は次のように、junit4.9はpom.xmlでjunit4.9の依存関係を定義することによって使用されます。

<!-Dependencies-> 
    <dependencies> 
        <!-このプロジェクトはjunitを使用して実行されるため、このプロジェクトはjunit-> 
        <dependency>に依存しています
            <!-Junitプロジェクト- > < groupId > junit </ groupId> 
            <!-junit module name-> 
            <artifactId> junit </ ArtifactId> 
            <!-junit version-> 
            <version> 4.9 </ version> 
            <!-依存関係の範囲:ユニットテストにjunitを使用-> 
            <scope> test </ scope> 
        </ dependency>

  プロジェクトライフサイクルで
は、Mavenを使用してプロジェクトの構築を完了します。プロジェクトの構築には、クリーニング、コンパイル、テスト、デプロイなどのプロセスが含まれます。Mavenはこれらのプロセスをライフサイクルとして標準化します。ライフサイクルのステージは次のとおりです。

 

 

Mavenは、mvn compileを実行してコンパイルを実行したり、mvn cleanを実行してクリーニングを実行したりするなど、いくつかの単純なコマンドを実行することにより、上記のライフサイクルのさまざまなプロセスを実装できます。

一連の標準コレクション
Mavenは、プロジェクト管理プロセス全体の一連の標準を定義します。たとえば、Mavenによって構築されたプロジェクトの標準ディレクトリ構造、標準ライフサイクルステージ、依存関係管理の標準座標定義などです。

プラグイン(目標)の目標
Maven管理プロジェクトのライフサイクルプロセスは、プラグインに基づいています。

4つの依存スコープ

AはBに依存します。Bの座標はAのpom.xmlファイルに追加する必要があります。座標を追加するときは、依存関係の範囲を指定する必要があります。依存関係の範囲には次のものが含まれます。

compile:コンパイルスコープ、つまりコンパイル中にAがBに依存することを意味します。このスコープはデフォルトの依存スコープです。コンパイル範囲の依存関係は、コンパイル、テスト、および実行に使用されます。コンパイル範囲の依存関係は、ランタイム要件によりパッケージ化されます。

提供:提供された依存関係は、JDKまたはコンテナが依存関係を提供した後にのみ使用されます。提供された依存関係は、コンパイルおよびテスト中に必要ですが、実行時には必要ありません。たとえば、サーブレットapiはtomcatコンテナによって提供されます。

runtime:ランタイム依存関係は、システムを実行およびテストするときに必要ですが、コンパイル時には必要ありません。例:jdbcドライバーパッケージ。ランタイム要件により、ランタイム全体の依存関係がパッケージ化されます。

test:テスト範囲の依存関係は、コンパイルと操作中に必要ではありません。junitなどのテストコンパイルとテスト操作中にのみ使用できます。実行時には必要ないため、テストスコープの依存関係はパッケージ化されません。

system:システム範囲の依存関係は提供されたものと似ていますが、ローカルシステムのJARファイルへのパスを明示的に指定する必要があります。systemPathディスクパスを指定する必要があります。システム依存関係は推奨されません。

おすすめ

転載: www.cnblogs.com/sy211910/p/12710070.html