Eclipseインストール02 ( Tomcat導入 )

Eclipse mars installation

Eclipse インストールに関する記事を先日書きましたが、今回は Apache Tomcat をインストールしてEclipse で開発しているコードを実行/デバッグする手順について説明します。

はじめに

先日 Eclipseインストール ( Java開発環境構築 ) の記事を書きましたが、今回は Web アプリケーション開発のために、Web アプリケーションサーバを導入して、Eclipse から実行、デバッグできるようにします。

導入するWebアプリケーションサーバは Tomcat です。

※個人的には JavaEE7 も利用しているので、「みんなそろそろ JavaEE のリファレンス実装である GlassFish (も) 使おうよ」な感じも強い訳ですが、Google Trends を見ても Tomcat が圧倒的ですし、プロジェクトでは「既に Tomcat 使ってるのでそれで」と言われる事が多いのではないかと思われます。

今回も社内の開発メンバーへの説明資料兼ねてます。

環境

環境は以下になります。前回同様 の環境に Tomcat が追加された形です。

OS Windows (Vista, 7, 8.1)
Eclipse Eclipse 4.5 (MARS)
Java Java 8
Tomcat Tomcat 8.0.28

Tomcat のインストール

Tomcat の取得

Apache Tomcat 8 Downloads より Tomcat 8 をダウンロードします。

Tomcat 8 download

ページ の "Binary Distributions" 下に幾つかのパッケージが存在するので、インストール先の環境、及び、インストール方法に応じて適当なパッケージをダウンロードします。
Tomcat 初心者が Windows へインストールするのであれば、"32-bit/64-bit Windows Service Installer" をダウンロードしましょう。

※実際のプロジェクトでは、Tomcatのバージョンが指定されている場合もあります。個々の事情に併せて利用するバージョン、パッケージは適宜変更して下さい。

以下、上記 Installer をダウンロードしたものとして進めます。

インストール

取得したインストーラ ( apache-tomcat-8.0.28.exe ) を利用してインストールを行います。

  1. インストーラを実行します。
    コンピュータへの変更確認のためのダイアログが表示されたら許可して下さい。
  2. Apache Tomcat Setup 画面が表示されます。[ Next ] ボタンをクリックします。
  3. "License Agreement" 画面が表示されるので、ライセンスを確認し問題なければ [ I Agree ] ボタンをクリックします。
  4. "Choose Components" 画面が表示されます。必要に応じてインストールするコンポーネントを選択して下さい。
    Tomcat install - Choose Components
    以下デフォルトでは非選択のコンポーネントは、必要に応じてインストールすればよいでしょう。
    コンポーネント説明
    Service StartupOS 起動時にTomcatサービスを自動起動させる
    NativeWindows 用の Native ライブラリ ( apr ベースの native.dll ) をインストールする。個人的にはインストール推奨。
    Host ManagerTomcat 管理用の Web アプリケーション
    ( Tomcat の ) Virtual Host 設定が行える様子
    ExamplesServlet/JSP のサンプル。
    選択を終えたら [ Next ] ボタンをクリックします。
  5. Configuration 画面に遷移するので、必要に応じて設定を変更します。
    Tomcat install - Configuration
    ポート番号は既に他サービスで利用している場合、別の番号に設定しなおして下さい。不明な場合はそのままで ( 多分 ) 大丈夫です。

    ※コマンドプロンプトから netstat コマンドで調べる事も可能です。

    Tomcat Administrator Login (optional) は Tomcat 管理アプリケーションへのログインユーザの設定欄です。
    User-Name, Password に値を設定すると、このユーザ名、パスワードでログイン可能になります。

    設定に問題なければ [ Next ] ボタンをクリックします。

  6. "Java Virtual Machine" 画面に遷移します。Tomcat の実行に利用する Java を選択します。Java をインストール済みの場合、パスが設定されているので [ Next ] ボタンをクリックすればOKです。
    設定されている Java ( JDK、または、JRE ) に問題がある場合や、別のJavaを利用したい場合には適宜変更を行ってください。
  7. "Choose Install Location" 画面に遷移します。Tomcat のインストール先フォルダが設定されているので、問題なければ [ Install ] ボタンをクリックします。
    変更したい場合、インストール先フォルダを設定して下さい。
  8. インストールが行われます。
  9. インストールが完了すると、"Completing the Apache Tomcat Setup Wizard" 画面に遷移します。[ Finish ] ボタンをクリックすれば Tomcat のインストールは完了です。
    "Run Apache Tomcat"、"Show Readme" チェックボックスは必要に応じてチェックして下さい。
    Run Apache TomcatTomcat8 サービスが起動します
    Show ReadmeRELEASE-NOTES.txt ( 英語 ) が表示されます

Tomcat の動作確認

Tomcat の起動

Windows用 インストーラを利用した場合、Tomcat は Windows のサービスとしてインストールされます。

上記インストールの最後で "Run Apache Tomcat" をチェックした場合、既に Tomcat サービスが起動しているため、Tomcat が動作しているか確認できます。

チェックしていない場合には、Windows の [サービス] ( [コントロールパネル]>[管理ツール]>[サービス] ) を実行し、一覧から Apache Tomcat サービスを探して、実行して下さい。

tomcat service

Tomcat の動作確認

サービスが起動したら、Tomcat が動作しているか確認します。
以下 URL にアクセスする事で動作しているか確認できます。

http://localhost:8080/

問題なく動作していれば下図のページが表示されます。

ページ右側にある [Server Status]、[Manager App] ボタンをクリックすると、( 簡単な ) サーバの状態確認や、アプリケーションの管理等が行えます。要ログインですが、インストール時にTomcat Administrator Login (optional) 設定を行っていた場合、ここで設定していたユーザ名、及び、パスワードを利用してログインする事が可能です。

Tocat

Eclipse - Tomcat の連携

Tomcat が問題なく動作している事が確認できたら Eclipse から実行可能になるよう設定を行います。
これによって、Eclipse 上で開発している Java のWebアプリケーション ( Servlet や JSP 等 ) の動作確認やデバッグが Eclipse から行えるようになります。

Eclipse の設定

  1. Eclipse を起動します。
  2. メニューから [Window] > [Preferences] をクリックします。 "Preferences" ウィンドウが開きます。
  3. 左側メニューから [Server] > [Runtime Environments] をクリックします。
  4. "Server Runtime Environments" 画面が表示されるので、[Search] ボタンをクリックします。
    Eclipse preferences Server
  5. フォルダ選択のダイアログが表示されるので、検索先のディレクトリをクリックして [ OK ] ボタンをクリックしてください。
    選択するフォルダとしては "ローカルディスク (C:)" や "Program Files" 等でも問題ありませんが、アバウトすぎると検索に時間がかかるため、インストール先ディレクトリが判っているならそこを直接指定するのがよいでしょう。
  6. 検索が行われれば以下の設定が追加されます。
    NameType
    Tomcat 8.0Apache Tomcat v8.0

    ※正しく追加されない場合、[Add] ボタンを利用して手動で追加して下さい。

Eclipse - Tomcat の連携確認

簡単なサーブレットを作成して連携確認を行います。

テスト用アプリケーションの作成

みなさんご存じのアレを作ります。

プロジェクトの作成

先ずはプロジェクトを作成します。作成するプロジェクトのタイプは Dynamic Web Project です。Servlet や JSP を利用した動的ページを生成するためのアプリケーションを作成する場合に利用するタイプになります。

  1. メニューから [File] > [New] > [Dynamic Web Project]
    create project
  2. "Dynamic Web Project" ウィンドウが開くので適当なプロジェクト名を設定し、Target runtime、及び、Configuration が問題ないか確認して、[Finish] ボタンをクリックします。
    create project
  3. プロジェクトが作成されます。 ( 上図設定で "HelloProject" プロジェクトが作成されました ( 以下 "ハロプロ" )

    ※筆者が○ロプロが好きな訳ではない。 ... 恐らくSEO対策だ

サーブレットの作成

作成されたプロジェクトにサーブレットを追加 ( 作成 ) します。

  1. ハロプロを右クリックし、[New] > [Servlet] をクリックします。
    create servlet
  2. "Create Servlet" ウィンドウが開くので、パッケージ名とクラス名を設定し、[Finish] ボタンをクリックします。
    create servlet
  3. サーブレットが作成されます。
    作成されたサーブレットはテンプレートに従ってプログラムが記載されています。
    以下部分を編集してサーブレット ( HelloServlet ) を完成させます。
    ( doGet メソッドを以下のように変更する。 以下抜粋 )
    	protected void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    	
    		response.getWriter().append("Hello World.");
    	}
    

サーブレットの実行

※Tomcat サービスが起動済みの場合、サービスを停止してから以下手順を実行する事。既に起動済みの場合ポートが使用済みのため起動時にエラーとなります。

作成したサーブレットを実行します。サーブレットの実行にはサーブレットコンテナ ( Tomcat ) が必要です。

  1. 作成したサーブレットを右クリックし、[Run As] > [Run on Server] をクリックします。
    run servlet
  2. "Run On Server" ウィンドウが開くので、利用するサーバを選択して [Finish] ボタンをクリックします。先にインストールした "Tomcat v8.0 Server" を選択する事になります。
    run servlet
  3. Tomcat が起動します。

実行結果の確認

  • Tomcat が起動されると、Eclipse 上にWebブラウザが表示されて、選択したサーブレットの実行結果が表示されます。
    run servlet
  • デバッグ

    上で [Run As] を選択した代わりに ( その直下の ) [Debug As] を選択する事で、デバッグを行う事ができます。
    利用するサーバの選択等に関しては "Run As" の場合と同様です。

    ブレークポイント

    ソースコード上で行の左端部分 ( 行番号左の バーのような箇所 ) をダブルクリックする事でブレークポイントを設定する事ができます。
    ブレークポイントはプログラムの実行を中断するポイントの事で、デバッグ中にはこのブレークポイントを利用してプログラムの動作を確認する事が可能です。

    • 中断した時点での各変数値の確認
    • 値の変更
    • プログラムの変更 ( 変更内容によっては要Tomcat再起動 )

    中断後もデバッガの機能によりステップ単位での実行等を行う事によってプログラムの動作を詳細に追いかける事が可能です。

    開発者なら使いこなせて当たり前の機能なので、是非使いましょう。上記サンプル程度では殆ど出番はありませんが。

    ※デバッガ使わずに System.out.println しまくってる人とかも (過去に) 見た事がある。。。 が、スキルレベルを疑われる可能性があるのでお勧めしない。
    -> デバッガの基本的な使い方はマスターしよう。

    Eclipseデバッガの使い方が判らない場合 EclipseによるJavaアプリケーションのデバッグ あたりが判りやすいのではないかと思う。 ( バージョン3.12の頃の記事だが、MARSでも基本的な使い方は殆ど変らない )

    まとめ

    上記の手順で、Eclipse と Tomcat を連携し、Eclipse で作成した Javaアプリケーション (Servlet) をTomcat上で動作させ、デバッグする事ができるようになります。

    簡単なサーブレットによる確認でしたが、アプリケーションの規模が大きくなっても同様の手順にてデバッグまで行う事が可能です。

    プロジェクトによっては別プラグインでの開発 ( Sysdeo Tomcat Plugin 等 ) を前提に作成したために上手くいかない場合があるかもしれませんが、新規に Dynamic Web Project を作成した場合等なら、問題ないと思います。


    Javaのサーバサイドアプリケーション構築や、開発に関するコンサルティング、教育等も可能です。お気軽にお問合せ下さい。