Biến môi trường để cài đặt java


204

Làm cách nào để đặt các biến môi trường cho Java trong Windows (classpath)?


2
Biến môi trường nào? Classpath và JAVA_HOME? Nền tảng nào (Linux / Windows)? Xin hãy giải thích
Wernsey

22
Tôi đơn độc khi nghĩ rằng trình cài đặt java không tự động cập nhật biến môi trường đường dẫn?
Thomas Eyde

2
@ThomasEyde - chỉ có vấn đề với ý tưởng đó là nếu tôi muốn nhiều JVM trên máy của mình - tự động đặt đường dẫn sẽ gây ra sự cố.
Richard Le Mesurier

3
@Richard Le Mesurier: Chỉ cần có hộp kiểm "được đặt làm JVM mặc định mới" trong trình cài đặt ...
Algoman

bình luận để tham khảo
Asker123

Câu trả lời:


393

Bộ công cụ phát triển Java SE 8u112 trên Windows 7 hoặc Windows 8 64 bit

Đặt các biến môi trường người dùng sau (== biến môi trường của biến người dùng loại )

  • JAVA_HOME : C:\Program Files\Java\jdk1.8.0_112
  • JDK_HOME : %JAVA_HOME%
  • JRE_HOME : %JAVA_HOME%\jre
  • CLASSPATH : .;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib
  • PATH : your-unique-entries;%JAVA_HOME%\bin(đảm bảo rằng longish your-unique-entrieskhông chứa bất kỳ tham chiếu nào khác đến thư mục cài đặt Java khác.

Lưu ý cho người dùng Windows trên hệ thống 64 bit:

Progra~1 = 'Program Files'
Progra~2 = 'Program Files(x86)'

Lưu ý rằng các biến môi trường này được lấy từ biến môi trường "gốc" JAVA_HOME. Điều này giúp dễ dàng cập nhật các biến môi trường của bạn khi cập nhật JDK. Chỉ cần chỉ JAVA_HOMEvào cài đặt mới.

Có một blogpost giải thích lý do đằng sau tất cả các biến môi trường này .

Khuyến nghị tùy chọn

  • Thêm một biến môi trường người dùng JAVA_TOOL_OPTIONS có giá trị -Dfile.encoding="UTF-8". Điều này đảm bảo rằng Java (và các công cụ như Maven ) sẽ chạy với một Charset.defaultCharset()số UTF-8(thay vì mặc định Windows-1252). Điều này đã giúp tiết kiệm rất nhiều vấn đề đau đầu khi nghe lén bằng mã của riêng tôi và của người khác, điều không may thường giả định mã hóa mặc định (lành mạnh) UTF-8 .
  • Khi JDK được cài đặt, nó thêm vào biến môi trường hệ thống Path một mục C:\ProgramData\Oracle\Java\javapath;. Tôi đã nhận thấy rằng các liên kết trong thư mục đó không được cập nhật trong bản cập nhật cài đặt JDK. Vì vậy, tốt nhất là loại bỏ C:\ProgramData\Oracle\Java\javapath;khỏi Pathbiến môi trường hệ thống để có một môi trường nhất quán.

12
Đó là câu trả lời tốt hơn
Kimchi Man

1
Câu trả lời tốt. Tôi cũng tạo một đường nối thư mục để cài đặt java mà tôi có thể cập nhật bất cứ khi nào tôi cài đặt phiên bản mới ( mklink /j C:\devel\java8 "C:\Program Files\Java\jdk1.8.0_91"). Theo cách đó, khi tôi sử dụng cygwin hoặc thứ gì đó không thể đọc các biến env của windows, tôi vẫn có một cách nhanh chóng để hoán đổi các phiên bản. Và nó dễ dàng hơn nhiều để nhớ con đường ngắn hơn mà không có phiên bản nhỏ.
kghastie

Tôi đã thử đặt biến JAVA_ROOT_PATH nhưng JAVA_HOME dường như không thích tôi sử dụng bất kỳ biến môi trường nào cho giá trị của nó. Có một lý do cho điều này?
Eric

3
Thư mục javapathvà các liên kết tượng trưng được tạo bởi cài đặt JRE (đây là một quá trình tùy chọn khi cài đặt JDK), vì vậy nếu bạn không cài đặt JRE, bạn sẽ không tạo javapath. Lưu ý rằng %JAVA_HOME%\jretrong câu trả lời của bạn là JRE riêng của JDK dành cho việc sử dụng trình biên dịch Java. Nó không hoàn toàn giống như JRE công cộng. Cũng lưu ý rằng, kể từ 1.8u112, cài đặt JRE dường như đã ngừng tạo các liên kết tượng trưng trong javapathvà thay vào đó tạo các liên kết cứng đến .exes trong ..\javapath_target_nnnnnnn\*.exe.
Klitos Kyriacou

3
Các thiết lập hoạt động tốt cho tôi. Vì không có thư mục jre trên jdk 11, tôi xóa biến JRE_HOME cũng như giá trị% JAVA_HOME% \ jre \ lib trong biến CLASSPATH. Để biết thêm thông tin về jdk 11 mà không có jre: stackoverflow.com/questions/52584888/iêu
Huanfa Chen

66

Trong Windows inorder để thiết lập

Bước 1 : Nhấp chuột phải vào MyComputer và nhấp vào thuộc tính.

Bước 2: Nhấp vào tab Nâng cao

văn bản thay thế

Bước 3: Nhấp vào Biến môi trường

văn bản thay thế

Bước 4: Tạo đường dẫn lớp mới cho JAVA_HOME

văn bản thay thế

Bước 5: Nhập tên biến là JAVA_HOME và giá trị cho đường dẫn bin jdk của bạn, tức là c: \ Programfiles \ Java \ jdk-1.6 \ bin và

LƯU Ý Đảm bảo rằng bạn bắt đầu với .;Giá trị để nó không làm hỏng các biến môi trường khác đã được đặt.

văn bản thay thế

Bước 6 : Thực hiện theo bước trên và chỉnh sửa Đường dẫn trong Biến hệ thống thêm phần sau ;c:\Programfiles\Java\jdk-1.6\binvào cột giá trị.

Bước 7 : Bạn đã hoàn tất việc thiết lập các biến môi trường cho Java của mình, để kiểm tra nó, hãy đi tới dấu nhắc lệnh và gõ

 java   

ai sẽ nhận được một danh sách các tài liệu trợ giúp

Để đảm bảo trình biên dịch có được thiết lập Nhập vào cmd không

  javac

ai sẽ nhận được một danh sách liên quan đến javac

Hi vọng điêu nay co ich !


1
Giải thích tốt đẹp. Một điều nhỏ trong bước 6: Không gõ $javahoặc $javac, nhưng chỉ javahoặc javac.
Jesper

1
Và lưu ý rằng bạn phải thêm thư mục bin JDK vào PATHbiến môi trường; chỉ thiết lập JAVA_HOMElà không đủ.
Jesper

1
vâng xin lỗi vì tôi là người yêu Linux. Tôi đã bỏ lỡ nó sẽ thay đổi nó, Cảm ơn
Srinivas MV

3
1. sử dụng dấu gạch chéo ngược trong WINDOWS 2. không bắt đầu bất kỳ đường dẫn nào với ".;" 3. thêm% JAVA_HOME% \ bin vào đường dẫn, như thế sau này bạn có thể thay đổi java_home mà không phải thay đổi đường dẫn
raudi

1
@Wannacoffee Cập nhật các thay đổi cho dấu gạch chéo ngược
Srinivas MV

27

--- Để đặt đường dẫn java ---

Có hai cách để thiết lập đường dẫn java

Tạm thời

  1. Mở cmd
  2. Viết bằng cmd: javac

Nếu java chưa được cài đặt, thì bạn sẽ thấy thông báo:

javac không được công nhận là lệnh nội bộ hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp bó .

  1. Viết bằng cmd: set path=C:\Program Files\Java\jdk1.8.0_121\bin
  2. Viết bằng cmd: javac

Bạn có thể kiểm tra đường dẫn đó được đặt nếu không có lỗi nào được nêu ra.

Điều quan trọng cần lưu ý là những thay đổi này chỉ là tạm thời từ các chương trình được khởi chạy từ cmd này.

LƯU Ý: Bạn có thể phải chạy dòng lệnh với tư cách quản trị viên

B. Thường trực

  1. Nhấp chuột vào "Máy tính của tôi" và nhấp vào thuộc tính
  2. Nhấp vào "Cài đặt hệ thống nâng cao"
  3. Nhấp vào "Biến môi trường"
  4. Bấm vào tab mới của biến người dùng
  5. Viết pathvàovariable name
  6. Sao chép đường dẫn của bin thư mục
  7. Dán đường dẫn của thư mục bin vàovariable value
  8. Nhấn vào OK

Đường dẫn hiện được đặt vĩnh viễn.

MIPO: Công cụ "Trình soạn thảo môi trường nhanh" (phần mềm miễn phí) rất tốt để sửa đổi các biến môi trường và hữu ích trong trường hợp đó

TIP2: Cũng có một cách nhanh hơn để truy cập Biến môi trường: nhấn phím Win+ R, dán thông tin sau %windir%\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariablesvà nhấnENTER


17

Trong Windows 7, nhấp chuột phải vào Máy tính -> Thuộc tính -> Cài đặt hệ thống nâng cao ; sau đó trong tab Nâng cao , nhấp vào Biến môi trường ... -> Biến hệ thống -> Mới ... .

Cung cấp cho biến hệ thống mới tên JAVA_HOMEvà giá trịC:\Program Files\Java\jdk1.7.0_79 (tùy thuộc vào đường dẫn cài đặt JDK của bạn, nó thay đổi).

Sau đó chọn Pathbiến hệ thống và nhấp vào Chỉnh sửa ... . Giữ tên biến là Pathvà nối C:\Program Files\Java\jdk1.7.0_79\bin;hoặc %JAVA_HOME%\bin;(cả hai đều giống nhau) vào giá trị biến.

Khi bạn đã hoàn thành các thay đổi ở trên, hãy thử các bước dưới đây. Nếu bạn không thấy kết quả tương tự, hãy khởi động lại máy tính và thử lại. Nếu nó vẫn không hoạt động, bạn có thể cần phải cài đặt lại JDK.

Mở dấu nhắc lệnh Windows (Phím Windows + R-> enter cmd-> OK ) và kiểm tra các mục sau:

java -version

Bạn sẽ thấy một cái gì đó như thế này:

java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

Sau đó kiểm tra như sau:

javac -version

Bạn sẽ thấy một cái gì đó như thế này:

javac 1.7.0_79

14

Các hướng dẫn cài đặt JDK giải thích chính xác cách đặt PATH, cho các phiên bản Windows khác nhau.

Thông thường bạn không nên đặt CLASSPATHbiến môi trường. Nếu bạn không đặt nó, Java sẽ tìm trong thư mục hiện tại để tìm các lớp. Bạn có thể sử dụng -cphoặc -classpathchuyển đổi dòng lệnh với javahoặc javac.


4
+1 cho "Thông thường bạn không nên đặt biến môi trường CLASSPATH.".
BalusC

5

Tôi sẽ giải thích ở đây bằng hình ảnh cho Windows 7.

Vui lòng làm theo các bước sau:

Bước 1: Chuyển đến "Bắt đầu" và vào thuộc tính "Máy tính của tôi"

nhập mô tả hình ảnh ở đây

Bước 2: Chuyển đến "Cài đặt hệ thống nâng cao" và nhấp vào nó.

nhập mô tả hình ảnh ở đây

Bước 3: Chuyển đến "Bắt đầu" và vào thuộc tính "Máy tính của tôi"

nhập mô tả hình ảnh ở đây

Bước 4: Hộp thoại cho biến Môi trường sẽ mở như thế này:

nhập mô tả hình ảnh ở đây

Bước 5: Chuyển đến đường dẫn và nhấp vào chỉnh sửa.

nhập mô tả hình ảnh ở đây

Bước 6: Đặt đường dẫn của JDK của bạn bất cứ nơi nào nó nằm trên thùng như bạn có thể nhìn thấy trong hình. Đồng thời thêm đường dẫn từ sdk Android của bạn lên Công cụ nền tảng:

nhập mô tả hình ảnh ở đây


3

Trong ngữ cảnh lập trình, bạn có thể thực thi lệnh SET (SET classpath = c: \ java) hoặc Nhấp chuột phải vào máy tính của bạn> thuộc tính> nâng cao> biến môi trường.

Trong một tệp bó bạn có thể sử dụng

SET classpath=c:\java
java c:\myapplication.class

Không thể hiểu dòng thứ hai. Nó có nghĩa là gì?
St.Shadow

3

Đối với người dùng Windows 7:

Nhấp chuột phải vào Máy tính của tôi, chọn Thuộc tính; Nâng cao; Cài đặt hệ thống; Nâng cao; Biến môi trường. Sau đó tìm PATH trong hộp thứ hai và đặt biến như trong hình bên dưới.

Trình chỉnh sửa biến PATH



2

Đặt biến môi trường java trong Centos / Linux

/ nhà / vi .bashrc

xuất JAVA_HOME = / opt / oracle / sản phẩm / java / jdk1.8.0_45

xuất PATH = $ JAVA_HOME / bin: $ PATH

chuyển đổi java


2

Hãy ghi nhớ rằng các %CLASSPATH%biến môi trường được bỏ qua khi bạn sử dụng java / javac kết hợp với một trong những -cp, -classpathhoặc -jartranh cãi. Nó cũng bị bỏ qua trong một IDE như Netbeans / Eclipse / IntelliJ / etc. Nó chỉ được sử dụng khi bạn sử dụng java / javac mà không có bất kỳ đối số nào được đề cập ở trên.

Trong trường hợp các tệp JAR, đường dẫn lớp sẽ được xác định là class-pathmục nhập trong tệp manifest.mf. Nó có thể được định nghĩa dấu chấm phẩy tách biệt và liên quan đến gốc của tệp JAR.

Trong trường hợp IDE, bạn có cái gọi là 'đường dẫn xây dựng', về cơ bản là đường dẫn lớp được sử dụng ở cả thời gian chạy và thời gian chạy. Để thêm các thư viện bên ngoài, bạn thường thả tệp JAR vào libthư mục (được xử lý trước bởi IDE hoặc được tạo tùy chỉnh) của dự án được thêm vào đường dẫn xây dựng của dự án.


@Balus anh ấy là một người mới bắt đầu, người đang cố gắng thiết lập Môi trường java của mình trên PC Windows.
MV Srinivas

1
Chính xác. Người sẽ rất bối rối khi phát hiện ra rằng đường dẫn lớp mà anh ta cấu hình không hoạt động đối với các tệp JAR cũng như IDE. Chỉ là một cảnh báo tại vị trí của nó :)
BalusC

1

Để triển khai tốt hơn để thiết lập đường dẫn chính xác và giữ cho môi trường rõ ràng. Hoặc tại * .bat (tương tự cho linux, nhưng với các ký hiệu biến chính xác):

CLASSPATH="c:\lib;d:\temp\test.jar;<long classpath>"
CLASSPATH=%CLASSPATH%;"<another_logical_droup_of_classpath" 
java -cp %CLASSPATH% com.test.MainCLass

Hoặc tại dòng lệnh hoặc * .bat (cho * .sh cũng vậy) nếu id đường dẫn không dài lắm:

java -cp "c:\lib;d:\temp\test.jar;<short classpath>"

1

Cho cửa sổ:

  • Nhấp chuột phải vào 'Máy tính của tôi' và mở 'Thuộc tính'.
  • Trong Windows Vista hoặc Windows 7, đi đến "Cài đặt hệ thống nâng cao". Khác đi đến bước tiếp theo.
  • Chuyển đến 'Tab nâng cao' và nhấp vào Environment Variablesnút.
  • Chọn 'Đường dẫn' trong danh sách 'Biến hệ thống', nhấn Editvà thêmC:\Program Files\java\jdk\bin sau dấu chấm phẩy.
  • Bây giờ hãy nhấp vào nút 'mới' bên dưới các biến hệ thống và nhập 'JAVA_HOME' làm tên biến và đường dẫn đến thư mục chính của jdk (ví dụ: 'C: \ Program Files \ Java \ jdk1.6.0_24' nếu bạn đang cài đặt phiên bản java 6. Thư mục tên có thể thay đổi với các phiên bản java khác nhau) dưới dạng biến_value.

1
  1. Tải xuống JDK
  2. Cài đặt nó
  3. Sau đó, thiết lập các biến môi trường như thế này:
  4. Bấm vào EDIT

nhập mô tả hình ảnh ở đây

  1. Sau đó bấm vào PATH , bấm vào Thêm, rồi thêm nó như thế này: nhập mô tả hình ảnh ở đây
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.