Liferay が起動しない
とりあえずWindows XPの環境に最新のXAMPPを入れてみて、そこでLiferayポータルを動かしてみることにした。
apache httpd 2.2とtomcatの連携をさくっと終わらせ、MySQLのコンフィグ、データベースの作成も終わった。
で、実行 …..orz
下記メッセージが表示されTomcatが起動しない。
[XAMPP]: Searching JDK HOME with reg query ... [XAMPP]: Seems fine! [XAMPP]: Using X:\Java\jdk1.6.0_24 X:\xampp\tomcat "_RUNJAVA= " "X:\xampp\tomcat/jre1.6.0_20/win\bin\java" "_RUNJDB = " "X:\Java\jdk1.6.0_24\bin\jdb" Using CATALINA_BASE: "X:\xampp\tomcat" Using CATALINA_HOME: "X:\xampp\tomcat" Using CATALINA_TMPDIR: "X:\xampp\tomcat\temp" Using JRE_HOME: "X:\xampp\tomcat/jre1.6.0_20/win" Using CLASSPATH: "X:\xampp\tomcat\bin\bootstrap.jar" Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:56) Caused by: java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) ... 1 more Could not find the main class: org.apache.catalina.startup.Bootstrap. Program will exit.
う~ん、根が深そうだ。
ちなみにxamppのセットは、ポータブルハードディスクに入れているので、持ち運び可能。なので、職場でちょっくら試してみると…. ちゃんと動きます。
なんだなんだ、家と職場との環境の違いはなんだ、っていっぱいあるのですが、色々試行錯誤しているうちに見つけました。
原因は、自宅のBフレッツ光プレミアムで動いているIPv6でした。
自宅のネットワークはIPv6ベースで動いている(もちろんIPv4も同時に動いている)ので、MySQLがIPv6の挙動を始めた。でも、tomcat側(というかLiferay側?)のほうが対応しれれずに上記例外で起動しない状態であった模様。
netstat -anで確認すると、MySQLがIPv4とIPv6両方で3306番ポートをLISTENしている。
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING : TCP [::]:3306 [::]:0 LISTENING :
解決策:
今回は、MySQLの設定ファイル「my.ini」に下記設定を入れて回避した。
[mysqld] port= 3306 bind-address=0.0.0.0 <------------- これ :
恒久対応するのであれば、Liferay側をいじればいいんでしょうが、Javaは勉強不足です(ーー;)
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Leave a Reply