SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

20年経ってもデファクトスタンダードIDEのEclipse入門

EclipseでWebプロジェクトを作ってみよう(2)〜WTPプラグインと動的Webプロジェクト

20年経ってもデファクトスタンダードIDEのEclipse入門 第7回

  • このエントリーをはてなブックマークに追加

 本連載ではIDEの1つであるEclipseを紹介していきます。Eclipseが世に出てから20年以上は経過していますが、いまだにデファクトスタンダードという不動の地位にいます。歴史もあり、さまざまな開発者に利用されている割には、Eclipseの入門にあたるようなまとまった情報源は意外と少ないといえます。本連載がその一助となれば幸いです。前回は、Eclipse Tomcat PluginのTomcatプロジェクトを利用して、EclipseでJavaのWebアプリケーションを作る方法の1つを紹介しました。今回は、もう1つの方法であるWTPプラグインを利用した方法を紹介します。

  • このエントリーをはてなブックマークに追加

WTPによるWebプロジェクトの基本

 前回紹介したように、アプリケーションサーバで動作するEEアプリケーションを作成する場合は、WTPを利用します。実際に、プロジェクトを作成しながら、その方法を紹介していきます。

WTPの利用はJava EEパースペクティブ

 本連載において、前回までのEclipseの使い方の紹介にはJavaパースペクティブを利用してきました。一方、WTPを利用する場合は、Java EEパースペクティブを利用するので、まずパースペクティブの切り替えを行っておきましょう。

 パースペクティブの切り替えについては、第1回で紹介しています。そちらを参考にしながら、図1のパースペクティブ選択ダイアログを表示させ、[Java EE]パースペクティブを選択して、[開く]をクリックしてください。

図1: パースペクティブ選択ダイアログ
図1: パースペクティブ選択ダイアログ

 すると、Eclipseの画面が図2のように変わります。

図2: 表示されたJava EEパースペクティブ
図2: 表示されたJava EEパースペクティブ

 一番の違いは、左側に表示されていたパッケージエクスプローラーが、プロジェクトエクスプローラーになっています。

EEアプリケーションは動的Webプロジェクト

 このプロジェクトエクスプローラーを右クリックして[新規]メニューを選択すると、表示されるメニュー内容が図3のようにパッケージエクスプローラーとは違うものになっています。これは、[ファイル]メニューから[新規]を選択しても同様です。

図3: プロジェクトエクスプローラーでの[新規]メニュー
図3: プロジェクトエクスプローラーでの[新規]メニュー

 これら[新規]メニュー中にある[動的Webプロジェクト]がEEアプリケーションを作成するプロジェクトです。早速、[動的Webプロジェクト]を選択してください。図4のウィザードが表示されます。

図4: 新規動的Webプロジェクト作成画面
図4: 新規動的Webプロジェクト作成画面

 いくつか入力項目や選択項目がありますが、基本的に、以下の[プロジェクト名]と[ターゲットランタイム]を入力、選択すれば問題ありません。順に解説していきます。

プロジェクト名

 その名の通り、プロジェクト名を入力します。ここでは、「FirstEEProject」としています。

ターゲットランタイム

 このプロジェクトで作成するアプリケーションを動作させるアプリケーションサーバを選択します。デフォルトでは、「Tomcat6(Java6)」「Tomcat7(Java7)」「Tomcat8(Java8)」「Tomcat9(Java11)」「なし」の選択肢が用意されています。ここでは、選択肢の中で最新の「Tomcat9(Java11)」を選択してください。なお、ドロップダウン右横の[新規ランタイム]機能を利用して、このリストにないアプリケーションサーバを登録することもできます。この方法については後述します。

 このドロップダウンリストから「Tomcat9(Java11)」を選択すると、自動的に[動的Webモジュールのバージョン]と[構成]が、図4のようにTomcat9に合わせて変わります。ここからさらに変更することもできますが、特段の理由がない限り、自動選択のままにしておきます。

なぜランタイムがTomcatなのか

 前回紹介したように、Tomcatは厳密にはアプリケーションサーバではありませんし、ここで作成するアプリケーションの動作環境としてTomcatを選択するならば、わざわざ動的Webプロジェクトを利用せずとも、前回紹介したTomcatプロジェクトの方が楽です。

 さらに、そのTomcatにしても、最新の10が選択肢に含まれていません。これに関しても、前回で触れたように、Pleiades All in OneにTomcat 10が含まれていないからです。

 これに関しては、後述の[新規ランタイム]を利用して、Tomcat 10やWildFlyなどのアプリケーションサーバを追加することで、それ用のプロジェクトを作成することが可能です。

 ただ、現段階では、Tomcat 9で動的Webプロジェクトの作り方を紹介しても、特に問題ないので、以降も、Tomcat 9用プロジェクトで解説していきます。

 図4の画面に入力と選択を終えた状態で[完了]をクリックすると、動的Webプロジェクトが作成されます。ただし、このままではコンテキストルートがプロジェクト名のままとなってしまいます。もちろん、プロジェクト作成後に変更は可能ですが、このプロジェクト作成ウィザードの第3画面でも設定できます。そのため、この初第1画面で完了とせずに、[次へ]をクリックして続きの画面を見ていきましょう。第2画面は図5のようになっています。

図5: 新規動的Webプロジェクト作成第2画面
図5: 新規動的Webプロジェクト作成第2画面

 この画面は、ソースファイルとそのファイルがコンパイルされたクラスファイルの格納先フォルダの設定画面です。こちらはデフォルトのままでかまわないので、そのまま[次へ]をクリックしてください。図6の第3画面が表示されます。

図6: 新規動的Webプロジェクト作成第3画面
図6: 新規動的Webプロジェクト作成第3画面

 [コンテキストルート]の入力欄があります。図6の通りに、デフォルトはプロジェクト名のままとなっています。これを、「czee」と変更した上で、[完了]をクリックしてプロジェクトを作成してください(図7)。

図7:コンテキストルートを変更
図7:コンテキストルートを変更

 なお、[コンテンツディレクトリー]は、「アプリのルートディレクトリ」のことです。こちらは、特に変更の必要はありません。

動的Webプロジェクトの構成

 作成された動的Webプロジェクトは、図8のフォルダ構成となっています。

図8:動的Webプロジェクトのフォルダ構成
図8:動的Webプロジェクトのフォルダ構成

 図8中に主要な構成要素については内容を記載しています。これを見ると、前回紹介したWARファイル構成とは少し違う構成になっています。その種明かしについても前回紹介しており、動的Webプロジェクトは、このプロジェクト内に存在するファイル類を、自動的にWARファイル構成に構成し直した上でアプリケーションサーバにデプロイする仕組みとなっています。そのため、プロジェクト上は、WARファイル構成になっている必要がありません。

 ここで、図8中に記載のない構成要素について補足しておきましょう。まず、「JAX-WS Webサービス」は、このプロジェクト中にJAX-WSの仕組みを利用したコードが記述された.javaファイルがある場合、その内容をビジュアルに表示してくれるツールです。

 「JREシステムライブラリー」「Apache Tomcat v9.0」は、外部の参照ライブラリです。

 「デプロイメント記述子」は、web.xmlを解析してビジュアルに表示してくれるツールです。「META-INF」フォルダは、生成されたwarファイルに関する情報(メタ情報)を記載したファイル類を格納するフォルダです。

サーブレットの作成も専用ウィザード

 動的Webプロジェクトでサーブレットを作成する場合、もちろん、[新規]メニューから[クラス]を選択して通常のクラスとして作成してもよいです。一方、専用のウィザードが用意されているので、そちらを利用していきましょう。プロジェクトエクスプローラーでプロジェクトフォルダ(FirstEEProjectフォルダ)を右クリックして、
[新規] > [サーブレット]
を選択してください(図9)。

図9:サーブレットの作成には専用メニューを利用する
図9:サーブレットの作成には専用メニューを利用する

 すると、図10の画面が表示されます。

図10:サーブレット作成画面
図10:サーブレット作成画面

 パッケージ名やクラス名など必要事項を入力して、[完了]ボタンをクリックすればサーブレットクラスが所定の位置に作成されます。しかも、図11のように、あらかじめサーブレットクラス内に、@WebServletアノテーションやコンストラクタ、doGet()やdoPost()メソッドなどが雛形として記述されています。

図11:作成されたサーブレットにはあらかじめコードが記述されている
図11:作成されたサーブレットにはあらかじめコードが記述されている

 このあらかじめ記述されたコードについては、図10の画面で[完了]をクリックせずに、[次へ]をクリックして表示される図12の第2画面や図13の第3画面であらかじめ設定、選択できるようになっています。

図12:サーブレット作成第2画面
図12:サーブレット作成第2画面
図13:サーブレット作成第3画面
図13:サーブレット作成第3画面

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
デプロイ先サーバの管理

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
20年経ってもデファクトスタンダードIDEのEclipse入門連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 齊藤 新三(サイトウ シンゾウ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook<個人紹介>WINGSプロジェクト所属のテクニカルライター。Web系製作会社のシステム部門、SI会社を経てフリーランスとして独立。屋号はSarva(サルヴァ)。HAL大阪の非常勤講師を兼務。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/14357 2021/06/25 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング