12
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

Eclipseで作ったJavaのWebアプリをUbuntuのTomcatで動くようにする方法(WARファイルエクスポート・インポート)

概要

  • 知り合いが勉強会のためJavaのWebアプリを、サーバーに展開することになった。
  • 知り合いも私もJavaのWebアプリをサーバに展開する方法を知らなかったので、練習用にUbuntuでTomcat8が動くようにして、そこに展開できるようにした。
  • WindowsのEclipseで作ったプロジェクトを、LinuxのTomcat上に展開できるようになった。(WARファイルを利用)
  • 似たような手順は散見されるが、単一のページでEclipseからUbuntu上のTomcatに移行する手順は見当たらなかったのでメモしておく。

こういう人に役に立つ

  • 教本とか読んでEclipse上でJavaのWEBアプリ作れるけど、サーバがよくわからないからサーバへ展開できない。
  • 細かいことはさておき、Tomcat触ってなんとなく使えるようにしたい。

紹介すること

  • Ubuntu16.04でTomcatをセットアップする方法
  • Tomcatマネージャのインストール
  • Eclipseで作ったWEBアプリのエクスポート(WARファイル)
  • TomcatマネージャへWARファイルのインポート

Ubuntu16.04でTomcatをセットアップする方法

(参考)UbuntuにTomcat8をインストールする

上記の手順まんまだが、

JDKのインストール

Javaを動かすのにJDK(Java Development Kit)が必要なので入れる
簡単のためPPA(非公式の個人リポジトリ)を使ってるので楽。
仕事などでしっかりやるときとかは公式リポジトリを使う。

sudo add-apt-repository ppa:webupd8team/java
# リポジトリを追加
sudo apt-get update
# 追加したリポジトリからパッケージリストを取得する
sudo apt-get install oracle-java8-installer
# JDKをインストール
sudo apt-get install oracle-java8-set-default
# Javaの環境変数を設定するパッケージをインストール

Tomcat8のインストール

(2017年3月時点で)
Tomcatのバージョンはもっと新しいのもあったりするけど、
apt-getでさくっと入れられる最新は8までみたいなので、ここでは8で

sudo apt-get install tomcat8

Tomcatのバージョンを上げると、使えるJavaの機能が増えたり性能が上がったりする様子。
対応しているJDKのバージョンも変わるよう。

インストールしたら自動でTomcatが立ち上がる。

インストールできたら確認

ブラウザのアドレスバーに以下を打つと

http://サーバのIPアドレス:8080

でTomcatが動いてるのが見える。(テストページ)

image

ちょっと満足。

Tomcatマネージャのインストール

Tomcatを使うのにManagerというものも入れると、この後やるWARファイルのインポートができて便利

sudo apt-get install tomcat8-admin

入れるだけだと、Manegerページにログインできるアカウントがないため使えないので、

/etc/tomcat8/tomcat-users.xml

にアカウントを追加する。

tomcat-usersのタグの部分に

<user username="admin" password="pass" roles="manager-gui"/>

の形式で追加。(manager-guiのroleを持ったアカウントを追加する。)
<!---->の間はコメントアウトなので、コメントアウトの外に書く。
(当然のことながら、よく読まないで追記してハマりそうになった)

こんな感じ

<?xml version='1.0' encoding='utf-8'?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">
<!--
  NOTE:  By default, no user is included in the "manager-gui" role required
  to operate the "/manager/html" web application.  If you wish to use this app,
  you must define such a user - the username and password are arbitrary.
-->
<!--
  NOTE:  The sample user and role entries below are wrapped in a comment
  and thus are ignored when reading this file. Do not forget to remove
  <!.. ..> that surrounds them.
-->
<user username="好きなアカウント名を入れてね!" password="好きなパスワードを入れてね!" roles="manager-gui"/>
</tomcat-users>

書き込みしたらtomcatに変更を反映するため、リスタート

sudo service tomcat8 restart

Tomcat manegerが入ったか確認

http://サーバのIPアドレス:8080/manager/html

でManagerページにアクセスできる。(さっき登録したID/PWでログイン)
とりあえず見るだけ。

Eclipseで作ったWEBアプリのエクスポート(WARファイル)

Eclipse(統合開発環境)での開発のナレッジは世の中にたくさん落ちてる。
UbuntuにTomcat入れてそこでJavaの開発やろうとするとPATHとかいろいろややこしい。
(最初、Tomcat単体でJavaアプリの環境作ろうとしたらややこしくてドハマりした。)

Eclipseの中で作る → 出来上がったものをTomcatにインポートする、が楽そう。

(参考)Java+Eclipse 開発環境構築 Windows編

など参考にEclipse環境を用意して、ローカルマシンでWebアプリが動くところまで開発する。

スッキリわかるサーブレット&JSP入門 スッキリわかるシリーズ

が昔やったけどわかりやすかったです。

EclipseからWARファイルをエクスポートする。

Eclipseでものが作れるようになった後、
Eclipseで作ったものをどうやって外のTomcatに取り込めばいいねーん!
って最初思うと思う...思うよね?。(私は思った。)
ファイル1個とかならまだしも、importとかやり始めてディレクトリ構造複雑だとTomcatに持ち込むのえぐい。

でも、大丈夫。
EclipseでWebアプリが出来上がったら所定の形式でエクスポートして、
Tomcatにインポートすればそのまま動く。

やり方はEclipseのファイルエクスポートWEBWARファイルと選択してWARファイルのエクスポート画面へ
プロジェクト名と出力先を選択したら完了でWARファイルがエクスポートされる。

TomcatマネージャへWARファイルのインポート

ここでTomcat Managerに戻る。

http://サーバのIPアドレス:8080/manager/html

配備WARファイルの配備からTomcatにインポートできる。

image

ファイルを選択でさっき出力したWARファイルを選択すればOK

確認

http://サーバのIPアドレス:8080/プロジェクト名/ページ名

でアクセスできるようになっている。
(プロジェクト名、ページ名はEclipseでローカルマシンで動かしていたのと一緒)

お疲れ様でした。

Eclipseで作ったWEBアプリがUbuntu上のTomcatで表示できるようになりました。
よかったよかった。

今回はTomcatで動かせるかの確認用途だったのでそこまでやってませんが、世間に公開するときはApacheとTomcatを連携させてやるらしいです。(Apacheがhttpdの仕事を任せる)

思う

image

↑ Tomcatさん初心者殺し過ぎる気がする。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
12
Help us understand the problem. What are the problem?