Macでhomebrewを使ってJava8×Tomcat7の環境を構築する手順

あらかじめhomebrew経由でJava6×Tomcat6の環境をセットアップ(https://github.com/aipocom/command-line-tools )してそこでAipoが動作している環境からミドルウェアをアップデートする手順です。

java8のインストール

wget -P ~/Downloads/ --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u31-b13/jdk-8u31-macosx-x64.dmg
hdiutil mount ~/Downloads/jdk-8u31-macosx-x64.dmg
sudo installer -pkg /Volumes/JDK\ 8\ Update\ 31/JDK\ 8\ Update\ 31.pkg -target /
hdiutil unmount /Volumes/JDK\ 8\ Update\ 31/

JAVA_HOME指定

すでにJAVA_HOME、PATHの定義が~/.bash_profileに行われている場合はその行を消した上で以下を実行します。

echo export JAVA_HOME=`/usr/libexec/java_home -v "1.8"`  >> ~/.bash_profile
echo PATH=${JAVA_HOME}/bin:${PATH}  >> ~/.bash_profile

source ~/.bash_profile

バージョンが切り替わったことを確認します。

$ java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
$ javac -version
javac 1.8.0_31

Tomcat7のインストール

brew install tomcat7
brew link tomcat7 --force

jdbcドライバインストール

cd /usr/local/opt/tomcat7/libexec/lib/
wget http://central.maven.org/maven2/org/postgresql/postgresql/9.3-1102-jdbc3/postgresql-9.3-1102-jdbc3.jar
wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.34/mysql-connector-java-5.1.34.jar

cometを使えるようにしておく

Java の Comet でサーバープッシュを行う(1)

vim /usr/local/opt/tomcat7/libexec/conf/server.xml 

protocol を org.apache.coyote.http11.Http11NioProtocol に変更します。

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" 
               connectionTimeout="20000" 
               redirectPort="8443" />

Eclipseの設定変更

Eclipseを起動して環境設定を変更します。

Java

インストール済みのJRE

Java SE6→Java SE8

コンパイラ

1.6→1.8

Tomcat

バージョン

バージョン6.x→バージョン7.x

Tomcatホーム

/usr/local/opt/tomcat6/libexec→/usr/local/opt/tomcat7/libexec

JVM設定

Java SE6→Java SE8

mvn installは通るけど、Eclipseでクラスパスのエラーが出る場合の対処法

  • mvn installで見ている設定はpom.xml
  • Eclipseで見ている設定は.classpath

Tomcatを6から7に変更した際に、.classpathが書き換えられて以下の部分でエラーが出る場合があります。

import org.apache.catalina.comet.CometEvent;
import org.apache.catalina.comet.CometProcessor;

その際には .classpathをHEAD改訂で置き換えます。

実質的には.classpathの以下の行が復活します。

    <classpathentry kind="var" path="TOMCAT_HOME/lib/catalina.jar"/>