2012-05-21 40 views
6

Tôi đang sử dụng một kịch bản Windows .bat và tôi đặt JAVA_HOME như C:/Program Files/Java/jdk1.6.0_32 khi tôi làm một java -version, nó vẫn cho thấy 1,3JAVA_HOME và java -version

Làm thế nào tôi có thể sửa lỗi này? Tôi đang làm gì sai?

+0

Nó không cung cấp bất kỳ lỗi btw – user1345883

+1

Hiển thị đầu ra của 'echo% PATH%'. –

+1

Điều đó là không đủ. Đăng ký 'JAVA_HOME \ bin' vào' PATH'. – hmjd

Trả lời

6

Hãy thử %JAVA_HOME%\bin\java -version

Nếu bạn sửa đổi JAVA_HOME, nó thường là tốt hơn để gọi java với một đường dẫn tuyệt đối (sử dụng JAVA_HOME) vì nhị phân mới có lẽ không phải trong đường dẫn (và sau đó Windows sẽ nạp nhị phân sai).

6

Đảm bảo rằng biến môi trường PATH trỏ đến %JAVA_HOME%\bin.

0

Gọi java -version từ dòng lệnh, khiến cmd.exe thực hiện tra cứu trên các thư mục "đã biết". "Được biết" có nghĩa là biến môi trường PATH. Dường như PATH của bạn chứa thư mục java 1.3 bin và không phải là 1.6.

JAVA_HOME là một biến khác, được sử dụng (ví dụ, và không chỉ) bởi trình bao bọc java, hoặc bởi các kịch bản thực hiện một số công cụ java.

Hãy thử làm điều này:

SET JAVA_HOME=C:/Program Files/Java/jdk1.6.0_32 
%JAVA_HOME%/bin/java -version 

Thêm dấu ngoặc kép khi cần thiết.

1

Đảm bảo không trộn đường dẫn biến hệ thống và đường dẫn hệ thống biến người dùng. Tôi cảm thấy OK khi gọi java mà không có đường dẫn tuyệt đối (khi tôi biết cách JAVA_HOMEPATH được định cấu hình).

3

Đối với tôi sự cố xảy ra trong biến PATH của tôi, C:\ProgramData\Oracle\Java\javapath; được thêm bởi cửa sổ java cài đặt trước số %JAVA_HOME%\bin; của tôi. Vì vậy, tôi muốn echo %JAVA_HOME% trỏ đến một JDK7 và java -version hiển thị jdk8.

Tôi muốn đặt %JAVA_HOME%\bin; trước C:\ProgramData\Oracle\Java\javapath; để java -version hiển thị jdk7.

+0

Nó hoạt động cho tôi. Câu trả lời hoàn hảo. – vkrams

0

Tôi gặp sự cố tương tự, trong trường hợp của tôi, tôi đã cài đặt hai phiên bản java. nó có thể được sửa bằng cách gỡ cài đặt một phiên bản java hoàn toàn khỏi hệ thống.