JAVA_HOME được đặt vào thư mục sai


12

Xin chào người dùng Ubuntu,

Tôi đang cố gắng học cách viết các sửa đổi cho Minecraft. Để làm theo hướng dẫn tôi đang sử dụng, tôi cần chạy "gradlew". Lệnh này như sau

./gradlew setupDecompWorkspace eclipse

Điều này mang lại những điều sau đây

ERROR: JAVA_HOME is set to an invalid directory: /usr/local/java/jdk1.8.0_20

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

Rõ ràng tôi không biết phải làm gì hoặc thậm chí điều này có nghĩa là gì. Bất kỳ sự giúp đỡ nào cũng được đánh giá cao.

Câu trả lời:


28

Trước khi chạy lệnh, hãy thử nhập:

export JAVA_HOME="path_to_java_home"

Trong đó path_to_java_home là thư mục chứa bin / java của bạn.

Nếu java được cài đặt đúng cách, bạn có thể tìm thấy vị trí của nó, bằng cách sử dụng lệnh:

readlink -f $(which java)

Đừng quên xóa bin / java ở cuối đường dẫn trong khi đưa nó vào JAVA_HOME


Được rồi, tôi đã làm những gì bạn nói, tuy nhiên, nó mang lại kết quả tương tự ngoại trừ đường dẫn đã thay đổi.
Joseph_carp

1
Nếu bạn chạy $JAVA_HOME/bin/java -versionsau khi xuất, nó có hoạt động tốt khi hiển thị phiên bản java không?
Andrew Onischuk

$ JAVA_HOME / bin / java -version mang lại bash: /usr/local/java/jdk1.8.0_20/bin/java: Không có tệp hoặc thư mục như vậy
Joseph_carp

2
có vẻ như xuất khẩu của bạn là sai. Vui lòng hiển thị lệnh xuất bạn đã sử dụng. Và cũng hiển thị readlink -f $(which java)đầu ra
Andrew Onischuk

5
bạn nên đặt nó vào thư mục export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/jre"không có nghĩa là bin / javaexport JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java"
Andrew Onischuk

13

Để làm cho nó tự động trên Linux / Ubuntu, hãy thêm các dòng này vào cuối .bashrc:

JAVA_HOME=$(dirname $( readlink -f $(which java) ))
JAVA_HOME=$(realpath "$JAVA_HOME"/../)
export JAVA_HOME

Điều này được java thực thi, sau đó leo lên một cấp thư mục

Để chỉ định phiên bản java / tệp thực thi mặc định trên Debian / Ubuntu, hãy chạy phiên bản này một lần :

sudo update-alternatives --config java

Điều này được xây dựng dựa trên câu trả lời trước của Andrew Onischuk (cảm ơn!)


Công việc của nó như một cơ duyên. Nó đã giải quyết vấn đề của tôi sau 3 ngày.
Hitesh Sarsava

1

Nhận đường dẫn Java của bạn bằng cách sử dụng lệnh

whereis java

Dưới đây là một đầu ra có thể tùy thuộc vào phiên bản Java mặc định của bạn

java: /usr/bin/java /usr/share/java /usr/lib/jvm/jdk1.8.0_241/jre/bin/java

Maven cần chọn vị trí Java (nhà) để bạn có thể xuất đường dẫn Java bằng lệnh sau

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241/jre

Điều này sẽ cho phép Maven chọn phiên bản java và vị trí trong tệp / etc / môi trường

Bạn có thể thêm tùy chọn này vào môi trường / etc / bằng tay bằng cách sử dụng lệnh sau

sudo nano /etc/environment

và chỉnh sửa JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241/jre/


0

Cố gắng chỉnh sửa / usr / bin / gradle

Nhận xét dòng "export JAVA_HOME = / usr / lib / jvm / default-java" với #

này: #export JAVA_HOME = / usr / lib / jvm / default-java

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.