Web系開発メモ

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

Jetty12 MavenプラグインでWebアプリを起動する方法

Jetty Maven Plugin で、Webアプリケーションを起動する方法を書いていきます。

目次

  1. バージョン
  2. プラグインの追加
  3. Webアプリの起動
  4. 動作確認

1. バージョン

動作確認で使用したバージョンは以下の通りです。

2. プラグインの追加

pom.xml に、以下のプラグインを追加します。

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.jetty.ee10</groupId>
        <artifactId>jetty-ee10-maven-plugin</artifactId>
        <version>12.0.7</version>
        <configuration>
          <scan>1</scan>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

scanを1にすると、1秒ごとに資源の変更をチェックしてくれます。資源の変更がある場合は、自動で再配備されます。

手動で再配備したい場合は、scanを0に設定します。

3. Webアプリの起動

以下のコマンドを実行します。

mvn jetty:run

サーブレットコンテナが起動すると、以下のログが出力されます。

[INFO] Started ServerConnector@52f8a6f4{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
[INFO] Started oejs.Server@43ecfeb5{STARTING}[12.0.7,sto=0] @4112ms
[INFO] Scan interval sec = 1

Ctrl+C を押すと停止します。

4. 動作確認

4.1. プロジェクトの作成

以下のディレクトリ階層で、Webアプリケーションのプロジェクトを作成します。

sample-jetty12-plugin
  - pom.xml
  - src
    - main
      - java
        - sample
          - HelloServlet.java
      - webapp
        - WEB-INF
        - hello.jsp

4.2. 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>sample</groupId>
  <artifactId>sample-jetty12-plugin</artifactId>
  <version>1.0.0</version>
  <packaging>war</packaging>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <maven.compiler.source>21</maven.compiler.source>
    <maven.compiler.target>21</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>jakarta.servlet</groupId>
      <artifactId>jakarta.servlet-api</artifactId>
      <version>6.0.0</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>

  <build>
    <finalName>${project.artifactId}</finalName>
    <plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.4.0</version>
      </plugin>
      <plugin>
        <groupId>org.eclipse.jetty.ee10</groupId>
        <artifactId>jetty-ee10-maven-plugin</artifactId>
        <version>12.0.7</version>
        <configuration>
          <scan>1</scan>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

4.3. アプリの起動

以下のコマンドを実行してアプリを起動します。

mvn jetty:run

以下のURLにアクセスすると、JSPのレスポンスを受け取ることができます。

http://localhost:8080/hello.jsp