- 前回は、プロジェクトにSpringを設定しましたがTomcatを設定していないことに気が付きました。
- Tomcatは、Java Servlet や JSP を実行するためのWebコンテナです。
- Macの場合
- Windowsの場合
- 失敗したこと
- 次は、Spring MVC の設定をしていきます。
前回は、プロジェクトにSpringを設定しましたがTomcatを設定していないことに気が付きました。
Tomcatは、Java Servlet や JSP を実行するためのWebコンテナです。
Apache License 2.0を採用したオープンソースソフトウェア。
2005年以降、Apacheソフトウェア財団のトップレベルプロジェクトのひとつであるApache Tomcat Project 内で開発されている。
それ以前はかつて存在していたJakartaプロジェクト内で開発されていた。
Apache Tomcat - Wikipedia
オープンソースのソフトウェアで、Javaサーブレット・JSPを処理するアプリケーションサーバ。Tomcatは単独でWebサーバとして動作することも可能だが、ApacheやIISのプラグインと動作できるようになっており、実際にはプラグインとしての利用が主流である。
Tomcatは主なUNIX系OSやWindows、Mac OS Xなどで動作する。Sun Microsystems社からJavaサーブレット・JSPのリファレンス実装として認められたソフトウェアで、利用者も非常に多い。
e-words.jp
Webコンテナは、Javaサーブレットの実行環境となるソフトウェアです。
- 別名 : Servlet container
Java EE アーキテクチャのWebコンポーネント規約を実装するソフトウェア。
この規約では、コンピュータセキュリティ、並列性、ライフサイクル管理、トランザクション処理、デプロイやその他のサービスを含むWebコンポーネントの実行環境を規定している。WebコンテナはJava EEプラットフォームAPIを利用したJSPコンテナとしての機能も提供する。
Webコンテナ - Wikipedia
サーブレットはWebサーバ上で動作させるJava言語で書かれた簡易なプログラムで、クライアント(Webブラウザなど)からの要求を受けて処理を行い、結果をWebページとして送信する。サーブレットは単体では動作せず、Webサーバからの処理要求を受け付けてサーブレットの記述に従って実際の処理を行うソフトウェアが必要で、これをサーブレットコンテナという。
e-words.jp
Macの場合
Tomcatを配置します。
- Apache Tomcat® - Apache Tomcat 8 Software Downloadsへアクセスします。
- 好きなバージョンの.tar.gz をダウンロードして解凍します。
- 解凍した「apache-tomcat-8.0.23」(バージョンによって末尾は変わる)をApplicationsディレクトリ配下に移動します。
- Tomcatに権限を付与します。
- Tomcatを起動します。
- ブラウザで「http://localhost:8080/」にアクセスします。
- Tomcatを停止します。
# Tomcatに権限を付与します。 $ chmod 755 /Applications/apache-tomcat-8.0.23/bin/startup.sh $ chmod 755 /Applications/apache-tomcat-8.0.23/bin/shutdown.sh # Tomcatを起動します。 $ /Applications/apache-tomcat-8.0.23/bin/startup.sh Using CATALINA_BASE: /Applications/apache-tomcat-8.0.23 Using CATALINA_HOME: /Applications/apache-tomcat-8.0.23 Using CATALINA_TMPDIR: /Applications/apache-tomcat-8.0.23/temp Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home Using CLASSPATH: /Applications/apache-tomcat-8.0.23/bin/bootstrap.jar:/Applications/apache-tomcat-8.0.23/bin/tomcat-juli.jar Tomcat started. # Tomcatを停止します。 $ /Applications/apache-tomcat-8.0.23/bin/shutdown.sh Using CATALINA_BASE: /Applications/apache-tomcat-8.0.23 Using CATALINA_HOME: /Applications/apache-tomcat-8.0.23 Using CATALINA_TMPDIR: /Applications/apache-tomcat-8.0.23/temp Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home Using CLASSPATH: /Applications/apache-tomcat-8.0.23/bin/bootstrap.jar:/Applications/apache-tomcat-8.0.23/bin/tomcat-juli.jar
EclipseにTomactのプラグインを入れます。
方法は2つあるので好きな方を選びます。
zipファイルでインストールする方法
- 環境
- Eclipse Tomcat Pluginへアクセスします。
- zipファイルをダウンロードします。
- [Help] > [Install New Software]を選択します。
- [Work with] > [Add...]ボタン > [Archive]ボタン > ダウンロードしたzipファイルを選択 > [OK]ボタン
- [Tomcat Plugin]にチェックを入れます。
- [Next>]ボタン > [Next>]ボタン > [I accept the........]を選択 > [Finish]ボタン
- Eclipseを再起動します。
- Tom猫マークが表示されます。
Eclipse Marketplaceでインストールする方法
- 環境
EclipseにTomcatを設定します。
- 環境を設定します。
- [Windows] > [Preferences] > [Tomcat] > [Tomcatバージョン] > [Version 8.X]を選択します。
- [Tomcat ホーム] > [Browse...]ボタン > 「/Applications/apache-tomcat-8.0.23」を選択します。
- コンテキスト宣言モードを選択します。
「コンテキスト宣言モード」は、コンフィグレーションファイルの選択となります。
「server.xml」を選択すると、\conf\server.xml にアプリケーションコンテキストの設定が更新されます。
「コンテキストファイル」を選択すると、指定したディレクトリ(デフォルトは \conf\Catalina\localhost)にアプリケーションコンテキストの設定ファイル(プロジェクト名.xml)が作成されます。
proenomichi.blogspot.jp
- Eclipseに設定されているJavaのバージョンを確認します。
- サーバを追加します。
- アプリケーションを動かしてみます。
- [Project] > [Clean...] を押下してプロジェクトをクリーンします。
- [Package Exploer]でプロジェクトを選択して右クリックします。
- [Run As] > [Run on Server] を押下するとダイアログが表示されます(されないこともあります)。
- ダイアログで Tomcat を選択して [Finish] を押下します。
- 毎回、同じサーバを使用するのであれば「Always use this server when running this project」にチェックを入れておきます。
- http://localhost:8080/{プロジェクトの名前}/ にアクセスすると「Hellow World!!」が表示されました。
Windowsの場合
- 環境
- Windows10 Pro 64bit
- Eclipse Version: Oxygen.3a Release (4.7.3a)
Tomcatを配置します。
- Apache Tomcat® - Apache Tomcat 8 Software Downloadsのサイトからzipファイルをダウンロードする
- 任意のフォルダに解凍する
- 起動してみる
- startup.shで起動する
- startup.shで起動する
- http://localhost:8080/ をブラウザで表示して起動することを確認する
- shutdown.shで停止する
# startup.shで起動する $ /path/to/apache-tomcat-8.5.47/bin/startup.sh Using CATALINA_BASE: /path/to/apache-tomcat-8.5.47 Using CATALINA_HOME: /path/to/apache-tomcat-8.5.47 Using CATALINA_TMPDIR: /path/to/apache-tomcat-8.5.47/temp Using JRE_HOME: /path/to/Java/jdk1.8.0_231/ Using CLASSPATH: /path/to/apache-tomcat-8.5.47/bin/bootstrap.jar:/path/to/apache-tomcat-8.5.47/bin/tomcat-juli.jar Tomcat started. # shutdown.shで停止する $ /path/to/apache-tomcat-8.5.47/bin/shutdown.sh Using CATALINA_BASE: /path/to/apache-tomcat-8.5.47 Using CATALINA_HOME: /path/to/apache-tomcat-8.5.47 Using CATALINA_TMPDIR: /path/to/apache-tomcat-8.5.47/temp Using JRE_HOME: /path/to/Java/jdk1.8.0_231/ Using CLASSPATH: /path/to/apache-tomcat-8.5.47/bin/bootstrap.jar:/path/to/apache-tomcat-8.5.47/bin/tomcat-juli.jar
EclipseにTomcatを設定します。
- Eclipseを起動する
- [設定]ダイアログ > [Tomcat] > [Tomcatバージョン] > [Version 8.X]を選択
- [Tomcat ホーム] > [参照...]ボタン > Tomcatを解凍したフォルダを選択
- [コンテキスト宣言モード] > [コンテキスト・ファイル]を選択
- [適用して閉じる]ボタンで[設定]ダイアログを閉じる
- [サーバー]タブ > 右クリック > [新規] > [サーバー] > ダイアログを表示
- [Apache] > [Tomcat v8.8 Server]を選択 > [次へ>]ボタン
- [Tomcatインストール・ディレクトリー:] > [参照...]ボタン > Tomcatを解凍したフォルダを選択
- [JRE:] > インストールしたTomcatに合ったバージョンを選択(Apache Tomcat® - Which Version Do I Want?) > [完了]ボタンでTomcatを追加する
- [サーバー]タブに表示されたTomcatをダブルクリック > [ポート] > 変更の必要があれば変更する(他のサーバと被らない様にする等)
失敗したこと
Java/bin/java: No such file or directory
# shutdown.shを実行したら怒られました。 $ /path/to/apache-tomcat-8.5.47/bin/shutdown.sh Using CATALINA_BASE: /path/to/apache-tomcat-8.5.47 Using CATALINA_HOME: /path/to/apache-tomcat-8.5.47 Using CATALINA_TMPDIR: /path/to/apache-tomcat-8.5.47/temp Using JRE_HOME: /c/Program Files (x86)/Common Files/Oracle/Java Using CLASSPATH: /path/to/apache-tomcat-8.5.47/bin/bootstrap.jar:/path/to/apache-tomcat-8.5.47/bin/tomcat-juli.jar /path/to/apache-tomcat-8.5.47/bin/catalina.sh: line 520: /c/Program Files (x86)/Common Files/Oracle/Java/bin/java: No such file or directory
Could not contact [localhost:8005]. Tomcat may not be running.
# shutdown.shを実行したら怒られました。 $ /path/to/apache-tomcat-8.5.47/bin/shutdown.sh Using CATALINA_BASE: /path/to/apache-tomcat-8.5.47 Using CATALINA_HOME: /path/to/apache-tomcat-8.5.47 Using CATALINA_TMPDIR: /path/to/apache-tomcat-8.5.47/temp Using JRE_HOME: /path/to/Java/jdk1.8.0_231/ Using CLASSPATH: /path/to/apache-tomcat-8.5.47/bin/bootstrap.jar:/path/to/apache-tomcat-8.5.47/bin/tomcat-juli.jar 11 12, 2019 10:49:04 ▒ߑO org.apache.catalina.startup.Catalina stopServer ▒d▒▒: Could not contact [localhost:8005]. Tomcat may not be running. 11 12, 2019 10:49:04 ▒ߑO org.apache.catalina.startup.Catalina stopServer ▒d▒▒: Catalina.stop: java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) ...省略...
- 原因:起動と停止で対象にしているポートが違うから
- 対応:server.xmlでポートを変更する
<!--変更前--> <Server port="8005" shutdown="SHUTDOWN"> <!--変更後--> <Server port="8080" shutdown="SHUTDOWN">
The CATALINA_HOME environment variable is not defined correctly
# バッチを使ったら怒られた。 $ /path/to/apache-tomcat-8.5.47/bin/startup.bat The CATALINA_HOME environment variable is not defined correctly This environment variable is needed to run this program