织梦CMS - 轻松建站从此开始!

abg欧博官网|登陆|游戏|

【初心者向け】Apache TomcatへのWARファイルのデプロイ手順(ざっくり) #Java

时间:2025-11-12 15:22来源: 作者:admin 点击: 9 次
はじめに この記事でわかる・できること JavaプログラムからWARファイルを作成する方法 Tomcatの導入方法 TomcatへWARファイルをデプロイする方法 前提 Javaプログラムが作成済みであること この記事の対象者 初めてTomcatに...

はじめに この記事でわかる・できること

JavaプログラムからWARファイルを作成する方法

Tomcatの導入方法

TomcatへWARファイルをデプロイする方法

前提

Javaプログラムが作成済みであること

この記事の対象者

初めてTomcatにアプリをデプロイするよ~という方

WARファイルの作成が上手くいかないよ~という方

などなど

動作環境・使用するツールや言語

OS バージョン

ゲストOS:Ubuntu 24.04.2 LTS
※WSL2上で動かしています

ホストOS:Windows11 Home 24H2

ツール バージョン

Visual Studio Code Version 1.99.0 (user setup)

Apache Maven 3.8.7

Java version: 21.0.6

vendor: Ubuntu

runtime: /usr/lib/jvm/java-21-openjdk-amd64

Apache Tomcat/9.0.104

OS Name: Linux

OS Version: 5.15.167.4-microsoft-standard-WSL2

Architecture: amd64

JVM Version: 21.0.6+7-Ubuntu-124.04.1

JVM Vendor: Ubuntu

言語 バージョン

Java openjdk 21.0.6 2025-01-21

やってみたこと

手元にJavaプログラムがある状態から、WARファイルを作成してApache Tomcat(以下、Tomcatと呼びます)をインストールし、デプロイしてみました。
4時間くらいCopilot君やChatGPT君と相談してようやくできたので、備忘も兼ねてざっくり手順を共有します。

手順1 JavaプログラムからWARファイルを作成

まず前提として以下の4つを示します。

カレントディレクトリ

カレントディレクトリからのディレクトリ構造(ツリー形式)

Javaソースファイルの内容

pom.xmlファイルの内容

カレントディレクトリ

###コマンド pwd ###実行結果 /home/shigemasa89/nogizaka46-playlist-maker/demo

カレントディレクトリからのディレクトリ構造

###コマンド tree ###実行結果 . ├── pom.xml └── src ├── main │ ├── java │ │ └── com │ │ └── example │ │ └── ScrapeSongTitlesServlet.java │ └── resources └── test └── java 9 directories, 2 files

ScrapeSongTitlesServlet.java

package com.example; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class ScrapeSongTitlesServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { resp.setContentType("text/html; charset=UTF-8"); StringBuilder html = new StringBuilder("<html><body><h1>乃木坂46の楽曲一覧</h1><ul>"); try { String url = "https://n46db.com/songs/all-songs-list.php"; Document doc = Jsoup.connect(url).get(); Element songTable = doc.selectFirst("table:nth-of-type(3)"); Elements songRows = songTable.select("tbody tr"); for (Element row : songRows) { Element songTitleCell = row.selectFirst("td:nth-of-type(2)"); if (songTitleCell != null) { html.append("<li>").append(songTitleCell.text()).append("</li>"); } } } catch (Exception e) { e.printStackTrace(); html.append("<li>データ取得に失敗しました。</li>"); } html.append("</ul></body></html>"); resp.getWriter().write(html.toString()); } }

pom.xml

<?xml version="1.0" encoding="UTF-8"?> <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 "> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>1.0</version> <packaging>war</packaging><!-- warファイルとしてパッケージング --> <properties> <maven.compiler.source>21</maven.compiler.source><!-- 使用中のJavaバージョンを指定 --> <maven.compiler.target>21</maven.compiler.target><!-- 使用中のJavaバージョンを指定 --> </properties> <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup --> <dependencies> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.19.1</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.3.1</version> <!-- 最新バージョンに更新 --> </plugin> </plugins> </build> </project>

カレントディレクトリにpom.xmlファイルが配置されていることを確認し、以下のコマンドでWARファイルを作成します。
※WARファイルにするという情報はpom.xmlファイルに記述してあります。

WARファイル作成

mvn package

このコマンドによって、カレントディレクトリからのディレクトリ構造(ツリー形式)は以下のようになりました。
欲しかったWARファイル「target/demo-1.0.war」が作成されていますね。

カレントディレクトリからのディレクトリ構造

###コマンド tree ###実行結果 . ├── pom.xml ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ └── example │ │ │ └── ScrapeSongTitlesServlet.java │ │ └── resources │ └── test │ └── java └── target ├── classes │ └── com │ └── example │ └── ScrapeSongTitlesServlet.class ├── demo-1.0 │ ├── META-INF │ └── WEB-INF │ ├── classes │ │ └── com │ │ └── example │ │ └── ScrapeSongTitlesServlet.class │ └── lib │ └── jsoup-1.19.1.jar ├── demo-1.0.war ├── generated-sources │ └── annotations ├── maven-archiver │ └── pom.properties └── maven-status └── maven-compiler-plugin ├── compile │ └── default-compile │ ├── createdFiles.lst │ └── inputFiles.lst └── testCompile └── default-testCompile └── inputFiles.lst 29 directories, 10 files

手順2 Tomcatをインストールして起動確認 1. Tomcatのtarを持ってくる

以下のページで、安定していそうなものとしてTomcat 9.0.104(9.0.xの中の最新版)を選択しました。
https://tomcat.apache.org/whichversion.html

image.png

そしてTomcat 9のダウンロードページを選択し、

image.png

tar.gzのリンクを右クリックしてリンクのアドレスをコピーします。

image.png

カレントディレクトリ上で、コピーしたアドレスを使って以下のコマンドを実行し、tomcatのtar.gzをダウンロードします。

tar.gzのダウンロード

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.104/bin/apache-tomcat-9.0.104.tar.gz

2. tar.gzファイルを解凍

続いて以下のコマンドを実行してtar.gzファイルを解凍します。

tar.gzのダウンロード

tar -xzvf apache-tomcat-9.0.104.tar.gz

3. 起動確認

Tomcatのbinディレクトリの中から以下の「startup.sh」を見つけます。

image.png

以下の、カレントディレクトリからの「startup.sh」の相対パスを貼り付けたコマンドでTomcat君を起動できます。

Tomcatの起動

apache-tomcat-9.0.104/bin/startup.sh

以下にアクセスしてみましょう。
:8080/

こんな感じでTomcatのページが表示されれば正常に起動されています!
パーティーをしましょう!

image.png

手順3 WARファイルをTomcatにデプロイ

さあ、いよいよ手順1で作ったWARファイルをTomcatにデプロイしましょう。
アプリの動作を見るのが楽しみですね。

以下のコマンドで、手順1で作ったWARファイルをTomcatのwebappsディレクトリにコピーします。

Tomcatの起動

cp target/demo-1.0.war apache-tomcat-9.0.104/webapps

すると以下のようにwebapps配下に「demo-1.0」ディレクトリが自動作成されます。

image.png

この中のWEB-INFディレクトリに以下のような内容で「web.xml」ファイルを作成します。

web.xml

<web-app> <servlet> <servlet-name>ScrapeSongTitlesServlet</servlet-name> <servlet-class>com.example.ScrapeSongTitlesServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ScrapeSongTitlesServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>

そして、以下のURL(localhost:8080/{WARファイルデプロイで自動作成されたディレクトリ名}/)にアクセスします。
:8080/demo-1.0/

アプリが正常にデプロイされていれば、以下のようにJavaプログラムが起動されていると思います!
お疲れ様でした!

image.png

おわりに・まとめ

今回は自分でWebアプリを作ってみたいなと思い、手始めにTomcatをインストールして簡単なアプリをデプロイしてみました。
今後も、気が向いたらまた投稿するかもしれないので、そのときはよろしくお願いします。

楽しみながら開発を続けていけたらなと思っています!
この度は最後までお読みいただき、ありがとうございました!

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2025-12-16 08:12 最后登录:2025-12-16 08:12
栏目列表
推荐内容