の正しいパスを決定することは、 Ubuntuシステムでは代替手段を使用するためJAVA_HOME、少し複雑です。私のマシンでは、これは、代替が実際のjavaまたはjavacに到達する前に少なくとも2つのレベルの間接参照を作成する方法です。
usr/bin/javac -> /etc/alternatives/
/etc/alternatives/java -> /usr/lib/jvm/jdk1.7/bin/javac
に設定JAVA_HOMEした場合、別のJavaを使用するように代替を更新する/usr/lib/jvm/jdk1.7と、システムJavaがが指すJavaと矛盾する可能性があります。JAVA_HOME
JAVA_HOME私の質問は、代替案を使用するシステムでの正しい値は何ですか。JAVA_HOME私はそれをに設定する必要があると思う傾向があります/usr
このようにして、 TOMCATまたはそれを使用するその他のソフトウェアは、「bin」を追加して、JAVA_HOME必要なすべての実行可能ファイルを検索します。
JAVA_HOMEこれは、代替を使用するシステムの正しい値ですか。ほとんどのソフトウェアJAVA_HOMEは実行可能ファイルを見つけるためだけに使用しますか、それともJDKにバンドルされている他のアーティファクト(セキュリティポリシーファイルなど)を見つけるために値を使用しますか?前者が当てはまる場合は、に使用できると思います/usrがJAVA_HOME、後者が当てはまる場合はJAVA_HOME、代替機能を犠牲にするしか方法がないと思います。