OSX Lion に Tomcat6 を入れて Java のサーブレットで HelloWorld するまでのすったもんだ
そういえばLionにしてから自宅の開発環境がほったらかしになってたな、と、嫌な予感はしていたんだが、いざ始めてみると大仕事に。 Java の SDK は入ってるはずだから Tomcat だけ入れればいいはず、と思って、
sudo port install tomcat6
と打った最初っからつまづいた。 まず MacPorts そのものがバージョン2.0.3にアップしていてこの selfupdate ができない。 Xcode を4.1にバージョンアップしろ、と言われる。 でApp Store で Xcode を検索してインストール。 App Store の画面でインストール済みになって、それからどうすればいいのか分からず、途中作業中断もはさんで大幅に時間ロス。 ふと見ると Application の中に Install Xcode というアイコンができているのでそれを起動で無事完了。 MacPorts のバージョンアップをして、引き続き Tomcat を入れる。
http://localhost:8080
を開いてみると得体の知れない EnterpriseDB とかいう画面が開くだけなので、(←なんすかね、これ)
sudo vim /opt/local/share/java/tomcat6/conf/server.xml
として、8080になってるところを8090に変更。 さらに、
sudo vim /opt/local/share/java/tomcat6/conf/tomcat-users.xml
として、Tomcat のアプリケーションマネージャ画面に入るためのIDとパスワードを設定する。
<tomcat-users> <role rolename="manager-gui"/> <user username="myname" password="mypassword" roles="manager-gui"/> </tomcat-users>
HelloWorld 用のjava ファイルを用意して、
javac HelloWorld.java
とするも文字化け。
vim ~/.profile
として、末尾に
alias javac="javac -J-Dfile.encoding=UTF8" alias java="java -Dfile.encoding=UTF8"
を追加。文字化けは収まったが、コンパイルに失敗するので、 さらに .profile に
export CLASSPATH=/opt/local/share/java/tomcat6/lib/servlet-api.jar
を追加。
javac HelloWorld.java
とやって、HelloWorld.class を作成する。
/opt/local/share/java/tomcat6/webapps
以下に、
/opt/local/share/java/tomcat6/webapps/sample
というフォルダーを作り、さらにその中に、
/opt/local/share/java/tomcat6/webapps/sample/WEB-INF /opt/local/share/java/tomcat6/webapps/sample/WEB-INF/classes /opt/local/share/java/tomcat6/webapps/sample/WEB-INF/src /opt/local/share/java/tomcat6/webapps/sample/WEB-INF/lib
とフォルダーを作って、 classes の中に HelloWorld.class を、src の中に HelloWorld.java を、 WEB-INF 直下に web.xml を置いて、
http://localhost:8090/sample/Hello
で完成。