Tomcat5.5@CentOS5 with sun-jdk

/etc/init.d/tomcat5が/usr/share/tomcat5/bin/relinkを呼び出す。これは/usr/bin/rebuild-jar-repositoryを実行する。これは/usr/share/java-utils/java-functions中のset_jvm_dirsを利用する。ここで$JVM_LIBDIRが無いかディレクトリではないよ、とエラーになる。

/usr/bin/rebuild-jar-repository: error: JVM_LIBDIR /usr/lib/jvm-exports/java does not exist or is not a directory

$JVM_LIBDIRは、$JVM_ROOTの後ろに-exportsをくっつけて作られる。$JVM_ROOTは/etc/java/java.confで定義される。
どうもこれらの動作は全てJPackageプロジェクトで作られたものみたいで、alternativeの使用を前提にしているみたい。
なんかめんどくさくなってきた。SUNのJdkも自力で入れるんじゃなくて、JPackageからインストールするのが正しいか…
http://d.hatena.ne.jp/pekeq/20060926/p1
javarpmパッケージを作る。依存しているのでunixODBC-develをインストール。あとlibXpも。

あーなんかこういう手順いらないっぽい?
http://www.jpackage.org/installation.php
普通にSunのやつをRPMで入れて、なんとかcompatなんとかを入れればオッケー?

起動するがsun.misc.InvalidJarIndexException: Invalid indexで終了してしまう


入れ直した方がいいかな…とりあえず参考
http://wiki.centos.org/HowTos/JavaOnCentOS


CentOS5標準でついてくるgcjJavaのまんまでTomcat5.5入れた場合はすんなり動いた。proxy_ajpコメントアウトを戻すだけで一発。簡単。かんたーん。
問題はSunのJDKを使う場合だが…とりあえずJPackageっぽい手順でインストールを進めた。SunのJDK(1.5.0-11)をインストールした後にJPackageのcompatパッケージをインストール(JPackageのリポジトリからインストールしようとしたんだけど、1.6のリポジトリにはSunJDK1.5.0のcompatが9までしかないので、1.7のディレクトリから自分でrpmを持ってきた)。この段階で自動的にalternativeの設定がされてSUNのJDKが有効に。
で、tomcat5.5をインストールして実行…失敗。うーん?
出てるエラーはさっきと同じでsun.misc.InvalidJarIndexException: Invalid indexである。alternatives --config javagcjに戻しても同様のエラーでこけるので、混在環境ではうまく動かないという事かな…
混在させられないとなると、JPackageのtomcatに統一するしか手は無いのかな?めんどくせぇな。