Wiele aplikacji opartych na Javie wymaga ustawienia zmiennej env JAVA_HOME. Jaki jest cel tej zmiennej?
java
environment-variables
java-home
user496949
źródło
źródło
Odpowiedzi:
Zmienne środowiskowe to ciągi zawierające informacje, takie jak dysk, ścieżka lub nazwa pliku.
W zmiennej środowiskowej JAVA_HOME wskazuje katalog, gdzie środowisko wykonawcze Java (JRE) jest zainstalowany na komputerze.
źródło
Celem jest wskazanie, gdzie jest zainstalowana Java.
$JAVA_HOME/bin/java
powinien uruchamiać środowisko wykonawcze Java.źródło
Kiedy uruchamiasz program w języku Java, musisz najpierw uruchomić maszynę JVM, zwykle odbywa się to poprzez uruchomienie pliku wykonywalnego, w systemie Windows jest to java.exe . Możesz to uzyskać na wiele sposobów, na przykład po prostu podając pełną ścieżkę:
lub może mieć to na swojej ścieżce.
Jako argumenty wiersza poleceń podajesz niektóre pliki klas lub pliki JAR zawierające pliki klas, które są twoim programem. Ale to nie wystarczy, sam java.exe potrzebuje różnych innych zasobów, nie tylko wszystkich bibliotek Java. Ustawiając zmienną środowiskową JAVA_HOME, określasz, gdzie ma się znaleźć środowisko JRE, a tym samym wszystkie te zasoby wykonawcze. Powinieneś upewnić się, że konkretna uruchamiana Java jest zgodna z ustawieniem JAVA_HOME.
Może być również konieczne
JAVA_HOME\bin
wczesne wstawienie ścieżki, tak aby w przypadkujava.exe
zrobienia sobie kopii (na przykład w celu skompilowania strony JSP) odebrał właściwą wersję.źródło
Według @dirai tutaj
JAVA_HOME
nie jest używany przez samą Javę, ale przez niektóre narzędzia innych firm, takie jak na przykład Apache Tomcat. Jednak większość aplikacji będzie działać bez ustawienia tej zmiennej, ale niektóre mogą wykazywać nieoczekiwane zachowanie.źródło
JAVA_HOME
jest zmienną środowiskową .Musi być skonfigurowany w innym systemie operacyjnym. Sprawdź poniższe linki.
Zobacz także tutaj, aby uzyskać więcej informacji.
źródło
environment
czynienia zpath
różnymi rzeczami, ale używanymi w systemie Windows dokładnie tak samo, jak w Linuksie.JAVA_HOME
pozwala na uruchomienie dowolnej z wielu instalacji Java. Nawet jeśli najpierw masz/usr/lib/jvm/java-1.8.0/bin/java
PATH w swojej ścieżce, dobrze jest móc powiedziećJAVA_HOME=/usr/lib/jvm/java-1.5.0
i mieć domyślną "java", z którą uruchamiasz programy, zamiast tego użyj drugiej, jako kwestii ustawienia środowiska. Pozwala to programiście na użycie potrzebnej im wersji Java, nawet jeśli nie jest ona zainstalowana w normalnej lokalizacji systemu, i przetestowanie lub zapewnienie zgodności wstecznej z tą alternatywną wersją. I nie jest podatny na resetowanie w PATH przez inny zainstalowany program, na przykład główną aktualizację wersji samej javy.źródło