
Είναι μια παρόμοια ιδιότητα όπως System.getProperty ( «java.home») που θα επιστρέψει τον κατάλογο JDK, αντί του καταλόγου JRE εκεί; Έχω φαινόταν [http://java.sun.com/j2se/1.4.2/docs/api/java/lang/System.html#getProperties ()](http://java.sun.com/j2se/1.4.2/docs/api/java/lang/System.html#getProperties()) και εκεί δεν φαίνεται να είναι κάτι για το JDK.

 
Πώς μπορώ να πάρω τη θέση του καταλόγου JDK σε Java;
====================================================



Ένας τρόπος θα ήταν να ορίσετε μια μεταβλητή περιβάλλοντος συστήματος όπως το «JAVA\_HOME» και να τις χρησιμοποιούν. 


Μπορεί να μην είναι η καλύτερη λύση, αλλά θα μπορούσε να λειτουργήσει, και αυτό είναι ό, τι άλλες εφαρμογές που απαιτούν JDK και όχι JRE (όπως CruiseControl) απαιτεί από εσάς να κάνετε όταν τα δημιούργησαν.

 

Δεν υπάρχει μια ιδιότητα που είναι παρόμοια με `java.home`το JDK. Υπάρχουν μερικοί κανόνες του αντίχειρα που βοηθούν να ανιχνεύσει αν το JRE τρέχετε σε αποτελεί μέρος μιας JDK. Για παράδειγμα, αναζητήστε "$ {java.home} /../ lib / tools.jar". Με άλλα λόγια, σε ορισμένες περιπτώσεις, ίσως να είναι σε θέση να προτείνει μια προεπιλογή, αλλά σε γενικές γραμμές, ο χρήστης θα πρέπει να σας πω ποια JDK στη χρήση.

 

Μια εναλλακτική λύση είναι να καθορίσει τη διαδρομή προς το JDK μέσω ενός αρχείου ιδιότητες. Αυτό μπορεί να είναι εκτός από τη μεταβλητή περιβάλλοντος συστήματος για να επιτρέπουν την παράκαμψη.


Ανάλογα με την περίπτωση χρήσης σας, θα μπορούσατε να βάλετε αυτό το αρχείο ιδιοτήτων στον κατάλογο σπίτι ή το πακέτο με την εφαρμογή σας.

 