Muszę wiedzieć, gdzie JDK znajduje się na moim komputerze.
Po uruchomieniu Java -version
w cmd pokazuje wersję jako „1.6.xx”. Aby znaleźć lokalizację tego zestawu SDK na moim komputerze, próbowałem go użyć, echo %JAVA_HOME%
ale pokazuje on tylko „JAVA_HOME” (ponieważ w moich zmiennych środowiskowych nie ma zestawu zmiennych „JAVA_PATH”).
Odpowiedzi:
Jeśli używasz Linux / Unix / Mac OS X:
Spróbuj tego:
Powinien podać dokładną lokalizację.
Następnie możesz
JAVA_HOME
samodzielnie ustawić zmienną środowiskową.Na moim komputerze (Mac OS X - Snow Leopard):
Jeśli używasz systemu Windows:
źródło
where java
działa w systemie Windows (przynajmniej od Windows 7) Ale jeśli naprawdę chcesz JDK, a nie JRE, musisz poszukać w zwróconych katalogach 'bin / javac /ls -l $(which java) | awk '{print $11}'
Windows> Start> cmd>
Jeśli masz zainstalowany JDK, wyświetlana jest ścieżka,
na przykład:
C:\Program Files\Java\jdk1.6.0_30\bin\javac.exe
źródło
where java
działa tylko wtedy, gdy plik wykonywalny znajduje się w zmiennej PATH. Jeśli z jakiegokolwiek powodu, javac nie znajduje się na ścieżce, nie zwróci żadnego wyniku, ale to nie znaczy, że JDK nie jest zainstalowany. Tak więc w ogólnym przypadku rozwiązanie do wyszukiwania plików zaproponowane przez rozwiązanie @grokster gwarantuje wynik (myśl może zająć trochę czasu).W systemie Windows w wierszu polecenia
where javac
źródło
W systemie Windows wartością domyślną jest:
C:\Program Files\Java\jdk1.6.0_14
(gdzie liczby mogą się różnić, ponieważ są wersją).źródło
Instalator Java umieszcza kilka plików w folderze% WinDir% \ System32 (java.exe, javaws.exe i kilka innych). Gdy wpiszesz java.exe w wierszu polecenia lub utworzysz proces bez pełnej ścieżki, system Windows uruchomi je w ostateczności, jeśli brakuje ich w folderach% PATH%.
Możesz wyszukać wszystkie wersje Java zainstalowane w rejestrze. Spójrz na HKLM \ SOFTWARE \ JavaSoft \ Java Runtime Environment i HKLM \ SOFTWARE \ Wow6432Node \ JavaSoft \ Java Runtime Environment dla 32-bitowej wersji Java w 64-bitowym systemie Windows.
W ten sposób sama Java wykrywa zainstalowane różne wersje. I dlatego zarówno wersja 32-bitowa, jak i wersja 64-bitowa mogą współistnieć i działają dobrze bez ingerencji.
źródło
Proste i proste na platformach Windows:
gdzie java
źródło
Poniższy skrypt wsadowy wydrukuje istniejące domyślne środowisko JRE. To może być łatwo modyfikowane, aby znaleźć wersję JDK zainstalowane zastępując Java Runtime Environment z Java Development Kit .
źródło
W systemie Windows 10 możesz znaleźć ścieżkę, przechodząc do Panelu sterowania> Java. W panelu, który się pojawi, możesz znaleźć ścieżkę, jak pokazano na zrzucie ekranu poniżej. W panelu sterowania Java przejdź do zakładki „Java”, a następnie kliknij przycisk „Widok” pod opisem „Wyświetl wersje środowiska Java Runtime i ustawienia dla aplikacji i apletów Java”.
Powinno to działać w systemie Windows 7 i ewentualnie innych najnowszych wersjach systemu Windows.
źródło
W wierszu polecenia systemu Windows wpisz:
Lub, jeśli nie podoba ci się środowisko poleceń, możesz to sprawdzić w:
Menu Start> Komputer> Właściwości systemu> Zaawansowane właściwości systemu. Następnie otwórz kartę Zaawansowane> Zmienne środowiskowe i w zmiennej systemowej spróbuj znaleźć JAVA_HOME.
źródło
W systemie Windows możesz używać
aby wydrukować pełną ścieżkę każdego pliku „java.exe” na dysku C:, niezależnie od tego, czy znajdują się one w zmiennej środowiskowej PATH.
źródło
Więcej informacji o systemie Windows ... zmienna java.home nie zawsze jest tą samą lokalizacją, co uruchamiany plik binarny.
Jak mówi Denis The Menace, instalator umieszcza pliki Java w plikach programu , ale także java.exe w System32 . Bez ścieżki Java na ścieżce java -version może nadal działać. Jednak po uruchomieniu programu PeterMmm zgłasza wartość plików programu jako java.home , to nie jest źle (Java jest tam zainstalowana), ale faktycznie uruchamiany plik binarny znajduje się w System32 .
Jednym ze sposobów, aby dopaść lokalizację java.exe binarnego, dodaj następującą linię kodu PeterMmm by zachować program działa trochę dłużej:
Skompiluj i uruchom go, a następnie wyszukaj lokalizację obrazu java.exe . Np. W Windows 7 otwórz menedżera zadań, znajdź pozycję java.exe , kliknij prawym przyciskiem myszy i wybierz „otwórz lokalizację pliku”, to otworzy dokładną lokalizację pliku binarnego Java. W tym przypadku byłby to System32 .
źródło
Uruchom ten program z wiersza poleceń:
źródło
Wkładka PowerShell One:
źródło
$p='HKLM:\SOFTWARE\JavaSoft\JDK'; $v=(gp $p).CurrentVersion; (gp $p/$v).JavaHome
Próbowałeś sprawdzić swoją zmienną% PATH%. Właśnie tego używa Windows, aby znaleźć dowolny plik wykonywalny.
źródło
Echo %PATH%.
Mój wydaje się być wc:\Program Files\Java
systemie Windows 7Wystarczy wykonać
set
polecenie w linii poleceń. Następnie zobaczysz wszystkie ustawione zmienne środowiskowe.Lub jeśli na Uniksie możesz to uprościć:
źródło
Jest to specyficzne dla systemu operacyjnego. W systemie Unix:
wyświetli ścieżkę do pliku wykonywalnego. Nie znam odpowiednika systemu Windows, ale tam zwykle masz
bin
folder instalacji JDK w systemiePATH
:źródło
Żadna z tych odpowiedzi nie jest poprawna dla Linuksa, jeśli szukasz domu zawierającego podkatalogi, takie jak: bin, docs, include, jre, lib itp.
W Ubuntu dla openjdk1.8.0 jest to:
/usr/lib/jvm/java-1.8.0-openjdk-amd64
i możesz tego użyć,
JAVA_HOME
ponieważ będziesz mógł znaleźć nagłówki, jeśli zbudujesz pliki źródłowe JNI. Chociaż prawdawhich java
zapewnia ścieżkę binarną, nie jest to prawdziwy dom JDK.źródło
W systemie macOS uruchom:
Na moim komputerze to drukuje:
Zauważ, że uruchomienie
which java
nie pokazuje położenia JDK, ponieważjava
polecenie jest zamiast tego częściąJavaVM.framework
, która otacza prawdziwy JDK:źródło
w Windows cmd:
źródło
Dla Windowsa:
Ten link może pomóc wyjaśnić, jak znaleźć plik wykonywalny Java z bash: http://srcode.org/2014/05/07/detect-java-executable/
źródło
Poprawiłem powyższą odpowiedź munsingh , testując klucz rejestru w rejestrach 64-bitowych i 32-bitowych, w razie potrzeby:
odniesienie do dostępu do rejestru 64-bitowego
źródło
Skrypt dla 32/64-bitowego systemu Windows.
źródło