2012-08-23 25 views
7

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.

+0

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

+0

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

cevap

5

İyi soru - Linux'ta "alternatifler" kullanıyorum ve her şey "sadece çalışıyor" - Bunu düşünmek zorunda kalmamıştım.

1) "alternatifleri" sizin "gerçek" Java halen yapılandırılmış olan için sembolik ayarlar:

Bu cevap olduğuna inanıyoruz

2) Tek ihtiyacınız olan şey o do'yu sembolize etmek için $ JAVA_HOME set değerine

+0

Bu hangi dağıtımda? Ben alternatifleri kullanan Debian'dayım ve/usr/lib/jvm/default-java'm yok –

+0

İlginç yanıt. İlk olarak bu yorumu neden başladığına dair bir açıklama yaparak başladım, önerdiğiniz şey işe yaramayacak. Ama düşündüğümden daha fazlasını düşündüğümü anlıyorum. Bir 'default-java' dizini oluşturmalı ve kullanmak istediğim Java'ya symlink yapmamı mı söylüyorsun? Bunu takiben, alternatifler sistemimi, Java ile ilgili ikili dosyaları 'default-java/bin' içindekilere işaret edecek şekilde güncellemeliyim. Bu, alternatifler ve Java – Parag

+0

arasında bir kat daha ekleyerek sorunu çözecektir.Biraz kafam karıştı çünkü alternatiflerimle uğraştım ve java ikili dosyaları artık java – Parag

İlgili konular