W tym przewodniku zaprezentujemy jeden z podstawowych i kluczowych kroków konfigurowania Java w twoim systemie - konfigurowanie zmiennej środowiska Java_Home w Linux.
Wymagania wstępne
Przed nurkowaniem, szybko odświeżmy różne koncepcje i słowa kluczowe.
JDK vs. Jre
Jeśli jesteś zainteresowany Javą, prawdopodobnie już je znasz. JDK oznacza „Zestaw rozwoju Java.„Zawiera niezbędne narzędzia i biblioteki do budowy i uruchamiania (za pomocą aplikacji Java). Jeśli chcesz uczyć się lub pracować nad projektem Java, JDK to opcja wyboru.
JRE oznacza „Java Runtime Environment.”Ten pakiet zawiera narzędzia i biblioteki potrzebne do uruchomienia aplikacji Java. To obowiązek uruchamianie dowolnego programu Java w systemie.
Zauważ, że JDK jest domyślnie pakowany z JRE. Więc nie musisz instalować JRE osobno, jeśli już masz zainstalowany JDK.
Zmienne środowiska
W systemie Linux zmienne środowiskowe przechowują różne informacje o systemie dostępne dla aplikacji. Informacje mogą dotyczyć sposobu działania aplikacji w środowisku, różnych zachowaniach systemowych itp.
W zależności od dostępności zmiennych możemy podzielić je na 2 kategorie.
Java_home
Java_home jest zmienną środowiskową. Posiada lokalizację binarów Java. Wiele aplikacji opiera się na tej zmiennej środowiskowej w celu zlokalizowania binarnych i bibliotek Java.
Można go ustawić zarówno na zasadzie lokalnej, jak i globalnej.
Konfigurowanie java_home
Teraz, gdy rozumiemy, czym jest java_home, nadszedł czas, aby nauczyć się ustawić swoją wartość.
Najpierw wymyśl wersję zainstalowanej Java. Ten numer wersji jest często powiązany z ścieżką binarną Java.
$ java -versionJeśli Java została zainstalowana na całym świecie, instalacja jest prawdopodobnie przechowywana w następującej lokalizacji.
$ cd/usr/lib/jvmTen katalog zawiera binarie i biblioteki Java. Sprawdź zawartość katalogu.
$ ls -lhW moim przypadku mam zainstalowany openjdk 11 na Ubuntu (więcej o instalacji najnowszej Java na Ubuntu). Ze wyjścia możemy zobaczyć wpisy takie jak „Default-Java” i „Java-1.11.0-OPENJDK-AMD64 ”to symbolizacje„ Java-11-Openjdk-AMD64 ”.
Ustawimy wartość java_home na java-1.11.0-OPENJDK-AMD64 (zalecane).
$ Export java_home =/usr/lib/jvm/java-1.11.0-OPENJDK-AMD64Sprawdź wynik.
$ echo $ java_homeZauważ, że ta zmienna środowiskowa będzie trwać tylko dla bieżącej sesji powłoki. Po ponownym uruchomieniu musisz ponownie ręcznie ustawić wartość. Aby rozwiązać ten problem, większość powłok jest wyposażona w plik konfiguracyjny zawierający kody i polecenia, które powłoka musi uruchomić za każdym razem, gdy się uruchamia. W przypadku Bash nazywa się Bashrc (dla Zsh, to Zshrc itp.).
Otwórz plik w edytorze tekstu.
$ nano ~/.BashrcTeraz dodaj następujący wiersz na końcu pliku. Oznacza zmienną środowiskową dostępną dla wszystkich sesji powłoki i plików binarnych dostępnych bezpośrednio ze zmiennej ścieżki.
$ Export java_home =/usr/lib/jvm/java-1.11.0-OPENJDK-AMD64Zapisz plik i zamknij edytor. Aby wdrożyć zmiany, ponownie załaduj plik BASHRC.
$ źródło ~/.BashrcSprawdź wynik.
$ echo $ java_homeUstawienie java_home na całym świecie
Poprzednia sekcja pokazuje konfigurację Java_Home na jednym koncie użytkownika. To dobra praktyka, ponieważ każdy użytkownik może preferować różne konfiguracje. Niektórzy mogą nawet użyć zupełnie innej wersji Java lub smaku Java.
Bash jest wyposażony w globalny plik bashrc, który każda sesja powłoki w systemie musi załadować, niezależnie od użytkownika. Deklarując lokalizację Java_Home, możemy udostępnić ją wszystkim użytkownikom w systemie. Zauważ, że nie jest to zalecane i powinno być używane tylko w określonych sytuacjach.
Otwórz globalny plik bashrc w edytorze tekstu. Zauważ, że wymaga to przywileju Sudo, aby dostosować ten plik.
$ sudo nano /itp. /profilTeraz zaktualizuj wartości java_home i ścieżki.
$ Export java_home =/usr/lib/jvm/java-1.11.0-OPENJDK-AMD64Zapisz plik i zamknij edytor. Załaduj ponownie plik do powłoki bash, aby wdrożyć zmiany.
$ źródło /etc /profilSprawdź wynik.
$ echo $ java_homeKońcowe przemyślenia
W tym przewodniku zbadaliśmy różne koncepcje, takie jak zmienne środowiskowe i pokazaliśmy, jak ustawić Java_Home jako lokalną lub globalną zmienną środowiskową. Liczne aplikacje programistyczne, takie jak NetBeans, Eclipse, Maven, Ant, Apache Tomcat, Android Studio i więcej zależą od Java_Home, aby poprawnie funkcjonować.
Zauważ, że jeśli zmienna została ustawiona na całym świecie, lokalizacja musi być dostępna dla wszystkich użytkowników w systemie. W przeciwnym razie spowoduje to wiele problemów, co prowadzi do poważnych bólów głowy. Aby rozwiązać konflikty uprawnienia pliku, Linux jest wyposażony w wbudowane narzędzie: Chown. Dowiedz się więcej o Chown i jak z niego korzystać.
Szczęśliwy komputer!