Nhiều ứng dụng dựa trên java yêu cầu đặt biến env JAVA_HOME. Mục đích của biến này là gì?
Nhiều ứng dụng dựa trên java yêu cầu đặt biến env JAVA_HOME. Mục đích của biến này là gì?
Câu trả lời:
Biến môi trường là các chuỗi chứa thông tin như ổ đĩa, đường dẫn hoặc tên tệp.
Các biến môi trường JAVA_HOME điểm đến thư mục nơi mà môi trường thời gian chạy Java (JRE) được cài đặt trên máy tính của bạn.
Mục đích là để trỏ đến nơi Java được cài đặt. $JAVA_HOME/bin/java
nên thực thi thời gian chạy Java.
Khi bạn chạy một chương trình Java, trước tiên bạn cần khởi động JVM, thông thường điều này được thực hiện bằng cách chạy tệp thực thi, trên Windows thì đó là java.exe . Bạn có thể hiểu điều đó theo nhiều cách, chẳng hạn như chỉ cần đưa ra một đường dẫn đầy đủ:
C:\somedir\bin\java.exe
hoặc có thể có nó trên PATH của bạn.
Bạn chỉ định làm đối số dòng lệnh một số tệp lớp hoặc tệp Jar chứa tệp lớp là chương trình của bạn. Nhưng điều đó vẫn chưa đủ, bản thân java.exe cần nhiều tài nguyên khác, không nhất là tất cả các thư viện Java. Bằng cách đặt biến môi trường JAVA_HOME, bạn chỉ định nơi JRE, và do đó tất cả các tài nguyên thời gian chạy đó, sẽ được tìm thấy. Bạn nên đảm bảo rằng Java cụ thể mà bạn thực thi khớp với cài đặt của JAVA_HOME.
Bạn cũng có thể cần phải bắt JAVA_HOME\bin
đầu sớm con đường của mình để nếu nó java.exe
tạo ra một bản sao của chính nó (ví dụ để biên dịch JSP) thì nó sẽ chọn đúng phiên bản.
JAVA_HOME
là một biến môi trường .
Nó phải được thiết lập trên hệ điều hành khác nhau. Kiểm tra các liên kết sau đây.
Cũng xem ở đây để biết thêm thông tin.
environment
lẫn path
, đó là những thứ khác nhau nhưng được sử dụng trong Windows giống hệt như trong Linux.
JAVA_HOME
cho phép bạn chạy bất kỳ cài đặt java nào. Ngay cả khi bạn có /usr/lib/jvm/java-1.8.0/bin/java
trong PATH trước, sẽ rất hữu ích khi có thể nói JAVA_HOME=/usr/lib/jvm/java-1.5.0
và đặt "java" mặc định mà bạn chạy các chương trình sử dụng cái kia, thay vào đó, như một vấn đề của cài đặt môi trường. Điều này cho phép lập trình viên sử dụng java mà họ cần, ngay cả khi nó không được cài đặt ở vị trí hệ thống bình thường và kiểm tra hoặc cung cấp khả năng tương thích ngược với phiên bản thay thế đó. Và nó không dễ bị đặt lại trong PATH bởi một chương trình đã cài đặt khác, chẳng hạn như bản cập nhật phiên bản chính cho chính java.