CentOS6にJDK8・Tomcat7の環境を構築した時に詰まった話

@iwasaki 8,306views 更新:2015年1月20日

Amazon linuxの場合、

yum install tomcat7

みたいな感じでサクッとインストールが出来ます。

インストールされるTomcatのバージョンは

7.0.57

CentOS6にも同じようにしてTomcat7をインストールしましょう。

Java8インストール

yum -y install java-1.8.0-openjdk-devel

Tomcat7インストール

yum -y install yum-plugin-priorities
rpm -Uvh http://mirrors.dotsrc.org/jpackage/6.0/generic/free/RPMS/jpackage-release-6-3.jpp6.noarch.rpm
vim /etc/yum.repos.d/jpackage.repo
gpgcheck=1
↓
gpgcheck=0
yum install tomcat7-webapps

インストールされるTomcatのバージョンは

7.0.54

JDBCドライバのパスを通す

ln -s /usr/share/java/mysql-connector-java.jar /usr/share/tomcat7/lib/
ln -s /usr/share/java/postgresql-jdbc3.jar /usr/share/tomcat7/lib/

設定の調整

Javaのバージョンを共生させる場合はJAVA_HOME,CLASSPATHを指定しておきます。

# vim /etc/tomcat7/tomcat7.conf

JAVA_HOME="/usr/lib/jvm/java-1.8.0" 
CLASSPATH=".:/usr/lib/jvm/java-1.8.0/jre/lib:/usr/lib/jvm/java-1.8.0/lib:/usr/lib/jvm/java-1.8.0/lib/tools.jar" 

Tomcat7を起動させてプロセスを確認してみると以下の様なエラーが出ました。

/usr/bin/build-classpath: 
error: JAVAVER_LIBDIR /usr/share/java- does not exist or is not a directory 

Javaのバージョンがうまく取れてなくてパスが生成できてないっぽいです。

応急処置的に適当にフォルダを作ってしまいます。

mkdir /usr/share/java-
mkdir /usr/lib/java-

次にエラーログに次のようなエラーが出ました。

Stacktrace:] with root cause
org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: 

いろいろ調べてみたところ、 Tomcat 7.0.54ではecjのバージョンを4系にする必要があるようでした。

# cd /usr/share/tomcat7/lib/
# wget http://central.maven.org/maven2/org/eclipse/jdt/core/compiler/ecj/4.4/ecj-4.4.jar

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません