2012-03-07 30 views
11

Xin vui lòng giúp, Tôi cố gắng để chạy một lớp java biên soạn và nhận lỗi nhưng khi tôi cố gắng để kiểm tra môi trường java của tôi nó chỉ cách khác nhau như bên dướijavac và java trỏ đến môi trường khác nhau

c:\NetBeansProjects\Hello\src>javac -version 
javac 1.7.0 

c:\NetBeansProjects\Hello\src>java -version 
java version "1.6.0_31" 
Java(TM) SE Runtime Environment (build 1.6.0_31-b05) 
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode) 

Theo để máy tính của tôi (windows 7) tôi có

C:\Program Files (x86)\Java 
jdk1.6.0_25 
jdk1.7.0 
jre6 
jre7 

Làm thế nào tôi có thể chỉ cho nó tất cả để Java 7 hoặc chỉ Jave 6 ..... chỉ muốn thử java 7 để xem độ bền so với java 6 .. .hy vọng tất cả những gì tôi đã viết đều được giúp đỡ.

Chúc mừng.

+0

Biến đường dẫn JAVA của bạn được đặt là gì? – bvulaj

+0

Chỉ cần nhìn vào đường dẫn - đây là những gì tôi đã có C: \ Program Files (x86) \ Java \ jre6 \ bin; C: \ Program Files (x86) \ Java \ jdk1.7.0 \ bin – mascourt

+0

Và, đó là của bạn câu trả lời. Xem bên dưới. – bvulaj

Trả lời

9

Nhìn vào đường dẫn của bạn - Tôi nghi ngờ c: \ Windows \ System32 nằm phía trước thư mục JDK7 ... và tôi nghi ngờ đó là Java 6 vì bất kỳ lý do gì.

+0

Đây là toàn bộ con đường của tôi - tôi nên loại bỏ --C: \ Program Files \ AMD APP \ bin \ x86_64;% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files \ Windows Live \ Shared; C: \ Program Files \ ATI công nghệ \ ATI.ACE \ Core-tĩnh; C: \ Program Files \ QuickTime \ QTSystem \;% sbs_home % \ bin; C: \ Program Files (x86) \ Java \ jre6 \ bin; C: \ Program Files (x86) \ Java \ jdk1.6.0_25 \ bin – mascourt

+0

@mascourt: Hmm - không rõ nơi nó nhận được phiên bản javac 7 từ tất cả ... –

+1

Tôi đã gặp cùng một vấn đề. Java 7 không được đặt trong PATH nhưng tôi vẫn nhận được version7 bằng cách chạy lệnh java -version. Jon là đúng, java.exe là dưới c: \ Windows \ System32 ... –

4

Bạn có thư mục jre/bin trên đường dẫn hệ thống trước jdk/bin. Lệnh javac không tồn tại trong cài đặt jre.

Do đó java lệnh được phiên bản dưới jre6 nhưng javac được phiên bản dưới jdk1.7.0.

Bạn nên thay đổi đường dẫn hệ thống của mình để chỉ bao gồm đường dẫn bạn muốn. Nếu bạn muốn sử dụng một cách rõ ràng, người khác sử dụng tên tuyệt đối (bao gồm cả đường dẫn) thay vì chỉ tên thực thi.

0

Trong tất cả mất ổn định, bạn đã cài đặt một JDK 7 và một JRE 6 và trong biến môi trường PATH của bạn con đường bin JRE là trước khi con đường bin JDK bạn

+0

Tôi đã đổi đường dẫn thành C: \ Program Files (x86) \ Java \ jre6 \ bin; C: \ Program Files (x86) \ Java \ jdk1.6.0_25 \ bin nhưng tôi nhận được C: \ Users \ mascourt> java -version phiên bản java "1.6.0_31" Môi trường chạy thử Java (TM) SE (xây dựng 1.6.0_31-b05) Java HotSpot (TM) Máy chủ 64-bit VM (xây dựng 20.6-b01, chế độ hỗn hợp) – mascourt

+0

Vì vậy, điều này có nghĩa là cài đặt Java của bạn nằm trong C: \ Program Files (x86) \ Java \ jre6 \ bin là phiên bản 1.6.0_31. Không có gì lạ với điều đó. Tôi chỉ đơn giản là sẽ loại bỏ tất cả các cài đặt bạn không muốn và đặt JDK bạn muốn trước tất cả mọi thứ –

+0

Giải quyết - Nhờ tất cả những gì đã trả lời, tất cả các điểm đã được thực hiện và tôi đánh giá cao nó. Tôi đã theo dõi Guillaume Polet và chỉ đơn giản là xóa tất cả các cài đặt bạn không muốn và đặt JDK mà bạn muốn trước mọi thứ - Tôi không thấy nó cho đến khi tôi đi qua ccleaner của tôi để phát hiện phiên bản java "1.6.0_31" ... cảm ơn mọi người . – mascourt

0

I'ts chỉ vì con đường của bạn, JRE không chứa javac và nó chứa java, do đó, trong đường dẫn của bạn, JRE phải được đặt trước JDK

3

Trong biến PATH, hãy nhập C: \ Program Files (x86) \ Java \ jdk1.6.0_25 \ bin trước đường dẫn system32. Nó cố định vấn đề của tôi Chỉ cần đảm bảo đường dẫn của java là đường dẫn đầu tiên trong biến môi trường "PATH"

+0

Điều này cũng làm việc cho tôi .. Cảm ơn! – codeMan

Các vấn đề liên quan