□技術メモ - eclipse 環境設定 ※管理人の個人的な技術メモです。このページの内容の実行結果について 管理人はいかなる責任も負いかねますのでご自身の責任でお試しください。 ----------------------------------------------------------- ■Eclipse 環境設定 win32とwin64の違い ・windowsのビット数に合ったインストールが必要な場合と、共通の場合を区別することを目的として、 win32とwin64で環境設定する際に必要なファイルを記述する。 簡単に述べるとPleiadesはwin32,win64共通で問題ない。 Tomcatはwin32/win64共通のインストーラがあるのでこれを使えばよいが、 インストールされるファイルは別物と思われるので注意すること。(2015/10/07記) ----Win32環境 eclipse eclipse-jee-luna-SR2-win32.zip pleiades pleiades_1.5.0(win32,win64共通) jdk jre-8u60-windows-i586.exe tomcat7 32-bit/64-bit Windows Service Installer を選択 apache-tomcat-7.0.52.exe(win32,win64共通) struts 専門のサイトを参照のこと ----Win64環境 eclipse eclipse-jee-luna-SR2-win32-x86_64.zip pleiades pleiades_1.5.0(win32,win64共通) jdk jre-8u60-windows-x64.exe tomcat7 32-bit/64-bit Windows Service Installer を選択 apache-tomcat-7.0.52.exe(win32,win64共通) struts 専門のサイトを参照のこと ■Eclipse 環境設定 その1 スタンドアロン環境構築まで ○Eclipse Java 環境設定手順 ・JREをあらかじめインストールしておくこと。 環境変数のpathを通しておくことも必要。 eclipseは、JDKのインストールおよび環境変数JAVA_HOMEがなくても動作するが、JREがない場合は起動しない。 ・http://www.eclipse.org/downloads/ からeclipseをDownloadする。 WindowsXPの場合は eclipse-jee-luna-SR2-win32.zip(EE:EnterpriseEdition) (2015/05/12記) IDEとは統合環境のこと。 環境に合わせてWin32/Win64を選択する。 ・Pleiades All in OneパッケージはJDK, Tomcat, 日本語化ツール等が 同梱しているらしいが、ここでは扱わない。 ・Zipファイルを解凍したら、C:\ 直下に配置する。 開発環境が一般ユーザ権限の場合など、C:\ 直下に書き込み権限がない場合は C:\MyDocument や C:\User 等書き込み権限のあるフォルダに配置する。 ・c:\eclipse\workspace を作成。起動時にこのワークスペースを指定する。 ・eclipseのショートカットに、-cleanオプションを付けておく。 ・Pleiadesプラグインによる日本語化 http://mergedoc.osdn.jp/ pleiades_1.5.0.zip をDownload 解凍して、\features, \plugin を\eclipse直下に配置、上書きする。 (以下はReadMeより抜粋) eclipse.iniの最後に以下を追加する。 -javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar eclipse.exe -clean.cmd(ショートカット)をeclipse.exeと同じフォルダに配置してショートカットから起動する。 -clean 起動の後、5〜6回通常起動すると辞書の読み込みが起きなくなり起動が早くなるらしい。 ○簡単なプロジェクトの例 ・Eclipseを起動→パッケージ・エクスプローラで右クリック→新規→プロジェクト→Javaプロジェクト→ プロジェクト名「try1」→次へ→完了 ・srcを右クリック→新規→パッケージ→名前「jp.co.try2」→完了 ・jp.co.try2を右クリック→新規→クラス→名前「try3」→public static void main をチェック→完了 ・try3.javaを開いて、mainメソッド内に以下を追加。 System.out.println("Hello,Java!"); ・メニューから「実行」→「実行」で、コンソールに Hello,Java! が表示されればよい。 ----------------------------------------------------------- ■Eclipse 環境設定 その2 Tomcat環境構築まで ○Tomcatインストール手順(2015/05/12記) ・公式サイト tomcat.apache.org/ → Download → Tomcat8.0(もしくは Tomcat7.0, Tomcat6.0) → 32-bit/64-bit Windows Service Installer ・インストール→UserName, Passwordを設定→インストールを完了する(テストで使用するなら「user」「password」でもよい) ・起動および終了することを確認する。 タスクバーのアイコンを右クリック→Configure→startで起動すること(stopで停止, restartで再起動) ----> eclipseを使う場合は以下は行わなくてもよい ・環境変数を設定 CATALINA_HOME C:\Program Files\Apache SoftWare Foundation\Tomcat 8.0 <---- ・動作確認 localhost:8080/index.html(もしくは localhost:8080) → ロゴのある画面が表示されること ○Tomcatプラグインの配置および設定 ・http://www.eclipsetotale.com/tomcatPlugin.html tomcatPluginV331.zipをDownLoadして解凍する。 eclipse\plugins に配置する。 ・eclipseを起動すると、Tomcatトラのアイコンが表示されている。 ・ウィンドウ→設定→Tomcat 使用するTomcatをラジオボタンで選択してTomcatのインストールファルダを指定する。 Tomcat8.0は選択できないかもしれない。(2015/05/12記) その場合はTomcat7以前のVersionを使用する。 ・上記と同じ画面の下の方「コンテキスト宣言モード」にて、コンテキストパスの指定方法を以下から選択する。 「Server.xml」 %CATALINA_HOME%\conf\server.xml のの前に、 が追加される。 「コンテキスト・ファイル」 %CATALINA_HOME%\conf\Catalina\localhost に「コンテキスト名.XML」を作成して、この中でコンテキスト・パス等が設定される。 ○Tomcatのプロジェクトの例 ・Eclipseを起動→パッケージ・エクスプローラで右クリック→新規→プロジェクト→TreeからJavaを選択 →Tomcatプロジェクト→Try_Tomcat1→次へ→終了 ・WEB-INF/src→右クリック→新規→クラス→新規Javaクラスダイアログを表示 →パッケージ「jp.co.Try_Tomcat2」→名前「Try_Tomcat3」→完了 ・インポートを追加する。 package jp.co.Try_Tomcat2; の下に追加 import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.*; ・クラスをHttpServlet の拡張にする。 クラスの宣言を以下に修正する。 public class Try_Tomcat3 extends HttpServlet ・doGetメソッドの追加 Try_Tomcat3.java -------- package jp.co.Try_Tomcat2; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.*; public class Try_Tomcat3 extends HttpServlet { public void doGet( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=Shift_JIS"); PrintWriter out = response.getWriter(); //PrintWriter取得 out.println(""); //HTML出力 out.println(""); out.println("Tomcatのテスト"); out.println(""); out.println(""); out.println("

"); out.println("Hello, Tomcat!"); out.println("

"); out.println(""); out.println(""); out.close(); } } -------- ・web.xmlを記述する WEB-INFに以下を追加する。 servlet-classにはパッケージ名を含めたクラスを指定することに注意。 web.xml -------- Try_Tomcat3 jp.co.Try_Tomcat2.Try_Tomcat3 Try_Tomcat3 /Try_Tomcat3 -------- ・Try_Tomcat1を右クリック→Tomcatプロジェクト→コンテキスト定義を更新 ・プロジェクト→プロジェクトのビルド ・Tomcat起動 ・ブラウザから以下にアクセス http://localhost:8080/Try_Tomcat1/Try_Tomcat3 「Hello, Tomcat!」と表示されればよい。 ○Tomcatで「HTTPステータス 404」がでる場合 ・HTTPステータス 404は、Not Foundという意味なのでまずはweb.xmlにおけるマッピングが正しいか確認する。 スペルの間違い、大文字、小文字、全角等に気を付けること。 ・web.xmlに問題なければ以下を確認する。 web.xmlのファイル名が小文字になっていること。 *.javaファイルがUTF-8になっているか? Project名を右クリック→プロパティ→リソース→エンコード→UTF-8になっていること。 Project名を右クリック→Tomcatプロジェクト→コンテキスト定義を更新 リビルドする。プロジェクト→クリーン→プロジェクトを選択→ビルドを即時に開始 トラのアイコンからTomcatを起動する。 (補足)catalina とは : サーブレットコンテナ トラのアイコンから起動する coyote とは : HTTPサーバ(今回は関係ない) サーバタブから起動する。タイムアウトの設定などできる。 ----------------------------------------------------------- ■Eclipse 環境設定 その3 Struts環境構築まで ○JDK, Tomcat のインストール ・JDKをインストール→JAVA_HOMEを設定 ・Tomcatをインストール→CATALINA_HOMEを設定 ・Pathに、%JAVA_HOME%\binを追加 ○struts-blank.warを用意する ・http://struts.apache.org/download.cgi にて struts-1.3.10-all.zip をダウンロードする。 ・解凍して、\app\struts-blank.war を解凍する。 ○Tomcatプラグインの配置および設定 ・http://www.eclipsetotale.com/tomcatPlugin.html tomcatPluginV331.zipをDownLoadして解凍する。 eclipse\plugins に配置する。 ・windows-references-tomcat-tomcat6.xを選択-tomcat6.xをインストールしたパスを設定 ○Strutsのプロジェクトの例 ・新規→プロジェクト→Tomcatのプロジェクト→名前「st5」 ・struts-blank.war を解凍したファイル郡から以下を選択 \WEB-INF \pages index.jsp ・\workspace\コンテキスト名直下に上書き、配置する。 ・st5直下に以下のファイルを新規作成 ent.jsp , rsl.jsp ・WEB-INF\src直下に以下のパッケージを作成 jp.co.pk5 ・jp.co.pk5 に以下のクラスを作成 TestAction.java . TestActionForm.java ・libを追加する st5を右クリック→BuildPath→ConfigureBuildPath→Libタブ→AddExternalJars →st5\WEB-INF\libの全てのファイルを選択、追加する ・WEB-INF\struts-config.xml を以下の様に編集 struts-config.xml -------- type="jp.co.pk6.TestAction" name="Action" scope="request" input="/ent.jsp"> -------- TestAction.java -------- package struts; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public final class TestAction extends Action { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) { TestActionForm taf = (TestActionForm)form; int leftNum = taf.getLeftNum(); int resultNum = leftNum + 1; taf.setResultNum(resultNum); //アクション・クラス実行後の遷移先を指定する //struts-configで指定したjsp return (mapping.findForward("rsl.jsp")); } } -------- TestActionForm.java -------- package struts; import org.apache.struts.action.ActionForm; public final class TestActionForm extends ActionForm { private static final long serialVersionUID = 1L; private int leftNum; private int resultNum; public int getLeftNum() { return leftNum; } public void setLeftNum(int leftNum) { this.leftNum = leftNum; } public int getResultNum() { return resultNum; } public void setResultNum(int resultNum) { this.resultNum = resultNum; } } -------- ent.jsp -------- <%@ page contentType="text/html; charset=Windows-31J" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> -------- rsl.jsp -------- <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> 戻る -------- ・st5を右クリック→tomcat→定義を更新 ・st5をclean→Build Project ・Tomcatネコを起動 情報: Server startup in NNNN ms の表示を確認する ・localhost:8080→Status→Application一覧→st5→Welcome! は出ていなくてもよい →http://localhost:8080/st5/ent.jspで初期画面がでる →「実行」で入力した値に1加算される →「戻る」で初期画面に戻ること