Web系開発メモ

Java, C#, HTML, CSS, JavaScript のことなどを書いてます。

Maven

Maven Windowsにインストールする方法

Apache Maven 3.9.6 を、Windows にインストールする方法を書いていきます。 目次 JDKと環境変数 ダウンロード 解凍と移動 環境変数の表示 Pathの設定 動作確認 1. JDKと環境変数 Maven を使うには、以下の条件を満たす必要があります。 JDKがインストールさ…

Maven テスト用設定ファイルの配置場所について

Mavenプロジェクトで、Eclipse のテストは成功するのに、コマンドラインからのテストが失敗することがありました。 原因は設定ファイルの置き場所を間違えたためで、これからその詳細について記載していきます。 エラー内容 コマンドラインで mvn test を実…

MavenでJavaのバージョンを設定する方法(コンパイラの設定)

Maven のコンパイルで、Java のバージョンを設定する方法を書いていきます。 設定方法 次のように、pom.xml のプロパティで設定します。 <project> ... <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> </properties> ... </project> ※ プロジェクトタグの属性は省略しています。 Spring Boot プロジェクトの場合 Spring Boot アプリ…

SpringBoot MavenでJavaのバージョンを指定する方法

Spring Boot のアプリを Maven でビルドする際に、Java のバージョンを指定する方法を書いていきます。 指定方法 pom.xml のプロパティ java.version で指定できます。 <project> ... <properties> <java.version>17</java.version> </properties> ... </project> 値は 8(1.8), 11, 17 といった番号になります。 Spring Boot の POM …

Maven pluginManagementの用途と使用例について

pom.xml の pluginManagement について、用途と使用例を書いていきます。 用途 親のプロジェクトでプラグインを定義して、子のプロジェクトに継承させるために使います。 ※ 親のプロジェクトでも、定義したプラグインを使用できそうです。 使用例 親の pom.x…

Mavenコマンド「mvn install」でローカルリポジトリを更新

Maven のプロジェクトをビルドして、ローカルリポジトリの資源(jarなど)を更新する方法を書いていきます。 方法 プロジェクトのルートディレクトリで、以下のコマンドを実行します。 mvn install Windows の場合、C:\Users\{ユーザ名}\.m2\repository 配下…

Maven dependencyManagementの用途と使用例について

Maven の pom.xml の要素 dependencyManagement について、用途と使用例を書いていきます。 用途 親のプロジェクトでライブラリ(依存関係)を定義して、子のプロジェクトに継承させるために使います。 使用例 親の pom.xml 親の dependencyManagement で、…

Maven SNAPSHOTの概要とリリース方法(スナップショット)

Maven のバージョン番号に付けられる SNAPSHOT の概要と、リリース方法を書いていきます。 1. SNAPSHOT の概要 SNAPSHOT とは、 開発中のコードであること 安定版ではないこと 変更の可能性があること を示す値です。 2. SNAPSHOT の成果物 スナップショット…

MavenでWarを作成する方法(Hello Wrold出力アプリ)

Maven で WAR を作成して、Hello World を出力する方法を書いていきます。 バージョン ブログ執筆時の製品バージョンは以下の通りです。 Windows 11 Java 17 Maven 3.8.6 Tomcat 10.0.27 Servlet 5.0(JakartaEE 9/jakartaee.servlet.*) ディレクトリ階層の…

Mavenでtest配下のMainクラスを実行する方法(Exec Plugin)

Maven のプロジェクトで、src/test/java 配下の Mainクラスを実行する方法を書いていきます。 1. 実行方法 以下のコマンドを実行します。 mvn exec:java -Dexec.mainClass=org.sample.hello.TestMain -Dexec.classpathScope=test 上の org.sample.hello.Test…

MavenでJavaプログラムを実行する方法(Exec Pluginの使用方法)

Exec Maven Plugin を使って、Java のプログラムを実行する方法を書いていきます。 1. 実行方法 pom.xml に、プラグインと実行したいクラスを追加します。 <project> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.1.0</version> <configuration> <mainClass>[MainクラスのFQCN]</mainClass> </configuration></plugin></plugins></build></project>

MavenでFat JARを作成する方法(Assembly Pluginの使用方法)

Maven の Assembly Plugin を使って、fat jar(依存するライブラリも含む jar)を作成する方法を書いていきます。 ※ fat jar は uber-jar と呼ばれることもあります。 1. 作成方法 pom.xml に、アセンブリープラグインの定義を追加します。 <project> <build> <plugins> <plugin> <groupId>org.apache.m</groupid></plugin></plugins></build></project>…

Mavenでテストをスキップする方法(単体テストのスキップ)

Maven のビルドで、単体テストをスキップする方法を書いていきます。 1. テストの実行をスキップする方法 テストの実行をスキップするには、プロパティ skipTests を使います。 mvn package -DskipTests 下のように、true を設定しても同じ動作になります。 …

Maven ビルドライフサイクル・フェーズ・ゴールの概要

Maven のビルドライフサイクル、フェーズ(フェイズ)、ゴールについて、調べたことをまとめていきます。 1. ビルドライフサイクルについて Maven には3つのビルドライフサイクルがあり、それぞれが以下の役割を担っています。 clean:ビルドの成果物を削除…

Mavenでライブラリを追加する方法(依存性・依存関係の追加)

Maven のプロジェクトに、ライブラリ(依存性)を追加する方法を書いていきます。 Maven で依存関係を追加すると、ライブラリが自動的にダウンロードされて、クラスパスに追加されたりするので便利です。 追加方法 以下のように、pom.xml の dependencies で…

Maven プロジェクトを作成して実行する方法(Hello World)

Maven のプロジェクトを作成して、Hello World プログラムを実行する方法を書いていきます。 バージョン ブログ執筆時の OS とバージョンは以下の通りです。 Windows 11 Java 17(Amazon Corretto) Maven 3.8.6 上のリンクをクリックすると、インストール方…

MavenでJavadocのエンコーディングを設定する方法

Maven で Javadoc のエンコーディング(文字コード)を設定する方法を書いていきます。 設定方法 下のように、pom.xml のプロパティで指定します。 <project> ... <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> ... </project> ※ プロジェクトタグの属性は省略していま…

Maven エンコーディングの設定方法(ビルド時の文字コード)

Maven のプロジェクトで、ソースコードやドキュメント出力(Javadocなど)のエンコーディングを設定する方法を書いていきます。 設定方法 下のように、pom.xml のプロパティで設定します。 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> プロパティの位置 プロパティタグ <properties> の…</properties>