JAVA_HOME
için doğru yolu belirlemek, alternatifleri kullandığı için Ubuntu sisteminde biraz karmaşıktır. Makinemde bu, alternatiflerin gerçek java veya java'ya ulaşmadan önce en az iki seviyeli dolaylılık yaratmasıdır.Alternatifler kullanan bir Linux sisteminde JAVA_HOME için doğru yol nedir?
usr/bin/javac -> /etc/alternatives/
/etc/alternatives/java -> /usr/lib/jvm/jdk1.7/bin/javac
Ben /usr/lib/jvm/jdk1.7
için JAVA_HOME
set, o zaman java JAVA_HOME
tarafından işaret ile başka java kullanmak alternatifler güncellerseniz benim sistem java, tutarsız hale gelebilir mümkündür.
Sorunuz, alternatifleri kullanan bir sistemde JAVA_HOME
için doğru değer nedir. Ben JAVA_HOME
için 'bin' ekleme ve gereksinim duyduğu yürütülebilir bulacaksınız, JAVA_HOME
/usr
Bu şekilde TOMCAT veya kullanan başka bir yazılım olarak ayarlanmış gerektiğini düşünme eğilimindeyim.
Alternatifleri kullanan sistemlerde bu değer JAVA_HOME
için doğru değerdir. Çoğu yazılım yalnızca çalıştırılabilirleri bulmak için JAVA_HOME
'u kullanıyor mu yoksa JDK ile birlikte gelen diğer nesneleri (güvenlik ilkesi dosyası vb.) Bulmak için değeri mi kullanırlar? Eğer birincisi doğruysa, 'u JAVA_HOME
için kullanabileceğimizi hissediyorum, ancak eğer bu doğruysa, o zaman JAVA_HOME
'u kullanmanın tek yolunun alternatifler işlevinden ödün vermesi olduğunu düşünüyorum.
Sadece CentOS 5.5 sistemime baktım: 1) Çevremde herhangi bir yerde tanımlanmış $ JAVA_HOME var *) /etc/tomcat5/tomcat5.conf bu satıra sahip : JAVA_HOME = "/ usr/lib/jvm/java", 3)/usr/lib/jvm/java bir sembolik bağlantıdır: java ->/etc/alternatives/java_sdk', 4)/etc/alternatives/java_sdk ayrıca bir sembolik linktir: java_sdk ->/usr/lib/jvm/java-1.4.2-gcj'. – paulsm4
Evet, 'java'/usr/lib/jvm yerine 'java' yerine 'varsayılan-java'm var. Bu yüzden, alternatifler hakkında endişe etmemek zordur çünkü alternatifler ve Java arasında bir katman daha vardır. – Parag