1前書き

Apache Mavenは、Javaプロジェクト用の最も人気のあるビルドツールの1つです。

依存関係やリポジトリを分散させるだけでなく、プロジェクト間でディレクトリ構造を統一することも重要な側面の1つです。

このクイック記事では、典型的なMavenプロジェクトの標準的なディレクトリレイアウトについて説明します。

** 2ディレクトリレイアウト

**

典型的なMavenプロジェクトは

pom.xml

ファイルと定義された規約に基づくディレクトリ構造を持っています。

└───maven-project
    ├───pom.xml
    ├───README.txt
    ├───NOTICE.txt
    ├───LICENSE.txt
    └───src
        ├───main
        │   ├───java
        │   ├───resources
        │   ├───filters
        │   └───webapp
        ├───test
        │   ├───java
        │   ├───resources
        │   └───filters
        ├───it
        ├───site
        └───assembly

デフォルトのディレクトリレイアウトはプロジェクト記述子を使用して上書きすることができますが、これは一般的ではないのでお勧めできません。

この記事では、各標準ファイルとサブディレクトリについて詳しく説明します。

** 3ルートディレクトリ

**

このディレクトリはすべてのMavenプロジェクトのルートとして機能します。

標準的なファイルとサブディレクトリをよく見てみましょう。


  • maven-project/pom.xml

    – 必要な依存関係とモジュールを定義します

Mavenプロジェクトのビルドライフサイクル中
**

maven-project/LICENSE.txt

– プロジェクトのライセンス情報


  • maven-project/README.txt

    – プロジェクトの概要


  • maven-project/NOTICE.txt

    – サードパーティーライブラリに関する情報

プロジェクトで使用されている
**

maven-project/src/main

– そのソースコードとリソースが含まれています。

アーティファクトの一部になる
**

maven-project/src/test

– すべてのテストコードとリソースを保持


  • maven-project/src/it

    – 通常、使用される統合テスト用に予約されています


Maven Failsafeプラグイン

**

maven-project/src/site

– __Mavenを使用して作成されたサイトのドキュメント

サイトプラグイン

**

maven-project/src/assembly__ – パッケージング用のアセンブリ構成

バイナリ

** 4

src/main

ディレクトリ

**

名前が示すように、

src/main

はMavenプロジェクトの最も重要なディレクトリです。アーティファクトの一部であると思われるものは、それが

jar

または

war

であれ、ここに存在するはずです。

そのサブディレクトリは次のとおりです。


  • src/main/java

    – 成果物のJavaソースコード


  • src/main/resources

    – 設定ファイルなど

    i18n

    など

ファイル、環境ごとの設定ファイル、およびXML設定____


  • src/main/webapp

    – Webアプリケーションの場合、以下のようなリソースが含まれています。

JavaScript、CSS、HTMLファイル、ビューテンプレート、画像
**

src/main/filters

– に値を注入するファイルが含まれています

ビルド段階でのresourcesフォルダー内の構成プロパティー

=== ** 5

src/test

ディレクトリ____


__

**

ディレクトリ

src/test

は、アプリケーション内の各コンポーネントのテストが存在する場所です。

これらのディレクトリやファイルはいずれもアーティファクトの一部にはなりません。そのサブディレクトリを見てみましょう。


  • src/test/java

    – テスト用のJavaソースコード


  • src/test/resources

    – テストで使われる設定ファイルなど


  • src/test/filters

    – に値を注入するファイルが含まれています

テスト段階でのresourcesフォルダー内の構成プロパティー

===

6. 結論

この記事では、Apache Mavenプロジェクトの標準ディレクトリー・レイアウトを調べました。

Mavenプロジェクト構造の複数の例がhttps://github.com/eugenp/tutorials/tree/master/maven[GitHubプロジェクト]にあります。