FedoraにSun純正のJDKを入れる
Fedoraは標準だとOpenJDKがJava開発環境として入る。まあ最近はこれでも問題ないことが多いが私は問題がおきたのでjdk-6u7-linux-i586-rpm.binを落としてきて導入した。
このままではまだOpenJDKが使われることになるので
export JAVA_HOME=/usr/java/default export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
を'/etc/profile.d/java.sh'にいれ、さらに
alternatives --install /usr/bin/java java /usr/java/default/bin/java 20000 \ --slave /usr/bin/javaws javaws /usr/java/default/bin/javaws \ --slave /usr/bin/keytool keytool /usr/java/default/bin/keytool \ --slave /usr/bin/orbd orbd /usr/java/default/bin/orbd \ --slave /usr/bin/pack200 pack200 /usr/java/default/bin/pack200 \ --slave /usr/bin/policytool policytool /usr/java/default/bin/policytool \ --slave /usr/bin/rmid rmid /usr/java/default/bin/rmid \ --slave /usr/bin/rmiregistry rmiregistry /usr/java/default/bin/rmiregistry \ --slave /usr/bin/servertool servertool /usr/java/default/bin/servertool \ --slave /usr/bin/tnameserv tnameserv /usr/java/default/bin/tnameserv \ --slave /usr/bin/unpack200 unpack200 /usr/java/default/bin/unpack200 \ --slave /usr/lib/jvm-exports/jre jre_exports /usr/java/default/jre/lib \ --slave /usr/lib/jvm/jre jre /usr/java/default/jre alternatives --auto java
としてやるとOpenJDKからSunのJDKに切り替わる。切り替わらず相変わらずOpenJDKが使われてしまう場合、
alternatives --display java
としてOpenJDKの優先度を調べそれよりもSunのJDKの方が高くなるよう優先度を設定するか、
alternatives --config java
として手動で切り替える。
私の環境では問題なかったがついでに
alternatives --install /usr/bin/javac javac /usr/java/default/bin/javac 10000 \ --slave /usr/lib/jvm/java java_sdk /usr/java/default \ --slave /usr/lib/jvm-exports/java java_sdk_exports /usr/java/default/lib \ --slave /usr/bin/javadoc javadoc /usr/java/default/bin/javadoc \ --slave /usr/bin/javah javah /usr/java/default/bin/javah \ --slave /usr/bin/jar jar /usr/java/default/bin/jar \ --slave /usr/bin/jarsigner jarsigner /usr/java/default/bin/jarsigner \ --slave /usr/bin/appletviewer appletviewer /usr/java/default/bin/appletviewer \ --slave /usr/bin/rmic rmic /usr/java/default/bin/rmic alternatives --auto javac
とする必要があるかもしれない。