Có bất kỳ lệnh nào để kiểm tra hoạt động (vì máy có thể có nhiều hơn 1 JRE được cài đặt) thư mục cài đặt JRE trong Windows không. Đối với linux, lệnh tương ứng làThư mục cài đặt JRE trong Windows
which java
Có tương đương Windows nào không?
Có bất kỳ lệnh nào để kiểm tra hoạt động (vì máy có thể có nhiều hơn 1 JRE được cài đặt) thư mục cài đặt JRE trong Windows không. Đối với linux, lệnh tương ứng làThư mục cài đặt JRE trong Windows
which java
Có tương đương Windows nào không?
where java
công trình cho tôi để liệt kê tất cả exe java nhưng java -verbose
cho bạn biết rt.jar
được sử dụng và do đó mà jre (đường dẫn đầy đủ):
[Opened C:\Program Files\Java\jre6\lib\rt.jar]
...
Sửa : win7 và java:
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)
Trong dòng lệnh bạn có thể gõ java -version
-1 không cung cấp thông tin đường dẫn –
Nếu Java được cài đặt và biến môi trường được đặt, bạn có cần đường dẫn không? – Ram
Tìm câu trả lời cho câu hỏi trước của tôi here
c:\> for %i in (java.exe) do @echo. %~$PATH:i
C:\WINDOWS\system32\java.exe
Không phải là một lệnh, nhưng thông tin này là trong registry:
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
CurrentVersion
REG_SZJava Runtime Environment
tên với CurrentVersion
giá trịJavaHome
REG_SZ để nhận đường dẫnVí dụ trên máy trạm của tôi tôi có
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
CurrentVersion = "1.6"
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.5
JavaHome = "C:\Program Files\Java\jre1.5.0_20"
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.6
JavaHome = "C:\Program Files\Java\jre6"
Vì vậy JRE hiện tại của tôi là trong C:\Program Files\Java\jre6
Sau ngày từ bình luận khác của tôi, đây là một tập tin thực thi mà hiển thị các JRE hiện tại hoặc JDK dựa trên giá trị đăng ký.
Nó khác với các giải pháp khác trong trường hợp java được cài đặt, nhưng không phải trên PATH
.
@ECHO off
SET KIT=JavaSoft\Java Runtime Environment
call:ReadRegValue VER "HKLM\Software\%KIT%" "CurrentVersion"
IF "%VER%" NEQ "" GOTO FoundJRE
SET KIT=Wow6432Node\JavaSoft\Java Runtime Environment
call:ReadRegValue VER "HKLM\Software\%KIT%" "CurrentVersion"
IF "%VER%" NEQ "" GOTO FoundJRE
SET KIT=JavaSoft\Java Development Kit
call:ReadRegValue VER "HKLM\Software\%KIT%" "CurrentVersion"
IF "%VER%" NEQ "" GOTO FoundJRE
SET KIT=Wow6432Node\JavaSoft\Java Development Kit
call:ReadRegValue VER "HKLM\Software\%KIT%" "CurrentVersion"
IF "%VER%" NEQ "" GOTO FoundJRE
ECHO Failed to find Java
GOTO :EOF
:FoundJRE
call:ReadRegValue JAVAPATH "HKLM\Software\%KIT%\%VER%" "JavaHome"
ECHO %JAVAPATH%
GOTO :EOF
:ReadRegValue
SET key=%2%
SET name=%3%
SET "%~1="
SET reg=reg
IF DEFINED ProgramFiles(x86) (
IF EXIST %WINDIR%\sysnative\reg.exe SET reg=%WINDIR%\sysnative\reg.exe
)
FOR /F "usebackq tokens=3* skip=1" %%A IN (`%reg% QUERY %key% /v %name% 2^>NUL`) DO SET "%~1=%%A %%B"
GOTO :EOF
nơi java không hoạt động trong Windows. java -verbose đã làm như bạn đã đề cập. Cảm ơn. – Ankur
Khi tôi làm java -verbose tôi không nhận được để xem đường dẫn. Phiên bản java nào, Winbdows bạn đang thử cái này? – Nivas
@RC: nơi java sẽ chỉ hoạt động với Win7/Win2008 tôi nghĩ. –