Maven POMの概要

POM(プロジェクトオブジェクトモデル、プロジェクトオブジェクトモデル)は、Mavenプロジェクトの基本的な作業単位であり、XMLファイルであり、プロジェクトの基本情報を含み、プロジェクトの構築方法の説明、プロジェクトの依存関係の宣言などに使用されます。

タスクまたは目標を実行すると、Mavenは現在のディレクトリでPOMを探します。POMを読み取り、必要な構成情報を取得して、ターゲットを実行します。

POMでは次の構成を指定できます。

  • プロジェクトビルドプロファイル
  • プロジェクトの依存関係
  • プラグイン
  • 実装目標
  • プロジェクトバージョン
  • プロジェクト開発者リスト
  • 関連メーリングリスト情報

POMファイルpom.xmlを作成します。

プロジェクトのルートディレクトリにpom.xmlファイルを作成します。
pom.xml:

<project xmlns = "http://maven.apache.org/POM/4.0.0"
    xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
    http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
    <!-- 模型版本 -->
    <modelVersion>4.0.0</modelVersion>
    
    <!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如com.companyname.project-group,maven会将该项目打成的jar包放本地路径:/com/companyname/project-group -->
    <groupId>com.companyname.project-group</groupId>

    <!-- 项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 -->
    <artifactId>project-name</artifactId>
 
    <!-- 版本号 -->
    <version>1.0</version>
</project>

すべてのPOMファイルには、プロジェクト要素と3つの必須フィールド(groupId、artifactId、およびversion)が必要です

  • projectプロジェクトのルートタグです
  • modelVersionは4.0.0に設定する必要があります
  • groupIdはエンジニアリンググループのIDです。
  • ArtifactIdはプロジェクトの識別子で、通常はプロジェクトの名前です。groupIdとArtifactIdは共に、倉庫内のアーティファクトの場所を定義します
  • versionはプロジェクトのバージョン番号です。アーティファクトウェアハウスでは、com.companyname.project-group:project-name:1.0など、さまざまなバージョンを区別するために使用されます。

親(スーパー)POM

親(スーパー)POMはMavenのデフォルトPOMです。すべてのPOMは親POMから継承します(この親POMが明示的に定義されているかどうかは関係ありません)。親POMには、継承可能ないくつかのデフォルト設定が含まれています。したがって、Mavenが依存関係をPOMにダウンロードする必要があると判断すると、スーパーPOMで構成されたデフォルトのウェアハウスに移動してダウンロードします。

Mavenは効果的なpomを使用して関連する目標を実行します。これにより、開発者はPom.xmlで可能な限り少ない構成(Super pomとプロジェクト独自の構成)を行うことができます。もちろん、これらの構成は書き換えることができます。

Super POMのデフォルト設定を表示するには、次のコマンドを使用します。

mvn help:effective-pom

POMラベルは「POMラベルエンサイクロペディア」を参照できます

381の元の記事を公開 85を賞賛 80,000ビュー+

おすすめ

転載: blog.csdn.net/weixin_40763897/article/details/105000022