JAVA_HOME ถูกตั้งค่าเป็นไดเรกทอรีที่ไม่ถูกต้อง


13

สวัสดีผู้ใช้ Ubuntu

ฉันพยายามเรียนรู้วิธีเขียนการดัดแปลง Minecraft ในการติดตามการสอนที่ฉันใช้ฉันต้องเรียกใช้ "gradlew" คำสั่งมีดังนี้

./gradlew setupDecompWorkspace eclipse

สิ่งนี้ให้ผลดังนี้

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.

เห็นได้ชัดว่าฉันไม่รู้จะทำอย่างไรหรือสิ่งนี้หมายถึงอะไร ความช่วยเหลือใด ๆ ที่ชื่นชมมาก

คำตอบ:


31

ก่อนรันคำสั่งให้ลองป้อน:

export JAVA_HOME="path_to_java_home"

โดยที่ path_to_java_home เป็นโฟลเดอร์ที่ bin / java ของคุณอยู่

หากติดตั้ง java อย่างถูกต้องคุณสามารถค้นหาตำแหน่งได้โดยใช้คำสั่ง:

readlink -f $(which java)

อย่าลืมลบ bin / java ออกจากจุดสิ้นสุดของเส้นทางในขณะที่ใส่ลงใน JAVA_HOME


โอเคฉันทำในสิ่งที่คุณพูด แต่มันให้ผลลัพธ์เดียวกันยกเว้นเส้นทางที่เปลี่ยนไป
Joseph_carp

1
หากคุณเรียกใช้$JAVA_HOME/bin/java -versionหลังจากส่งออกมันทำงานได้ดีที่แสดงรุ่น java หรือไม่
Andrew Onischuk

$ JAVA_HOME / bin / java -version ให้ผลตอบแทน bash: /usr/local/java/jdk1.8.0_20/bin/java: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
Joseph_carp

2
ดูเหมือนว่าการส่งออกของคุณผิด โปรดแสดงคำสั่งส่งออกที่คุณใช้ และยังแสดงreadlink -f $(which java)ผลลัพธ์
Andrew Onischuk

5
คุณควรตั้งเป็นโฟลเดอร์ที่ bin / java export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/jre"ไม่มีความหมายexport JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java"
Andrew Onischuk

13

หากต้องการทำให้เป็นอัตโนมัติบน Linux / Ubuntu ให้เพิ่มบรรทัดเหล่านี้ที่ส่วนท้ายของคุณ.bashrc:

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

สิ่งนี้ทำให้สามารถเรียกใช้งาน java ได้จากนั้นเพิ่มระดับไดเรกทอรี

ในการกำหนดเวอร์ชันจาวา / เรียกทำงานเริ่มต้นบน Debian / Ubuntu ให้รันสิ่งนี้หนึ่งครั้ง :

sudo update-alternatives --config java

สิ่งนี้สร้างขึ้นจากคำตอบก่อนหน้าโดย Andrew Onischuk (ขอบคุณ!)


มันทำงานเหมือนจับใจ มันแก้ไขปัญหาของฉันหลังจาก 3 วัน
Hitesh Sarsava

1

ลองแก้ไข / usr / bin / gradle

ใส่ความคิดเห็นในบรรทัด "export JAVA_HOME = / usr / lib / jvm / default-java" ด้วย #

สิ่งนี้: #export JAVA_HOME = / usr / lib / jvm / default-java


1

รับพา ธ Java ของคุณโดยใช้คำสั่ง

whereis java

ต่อไปนี้เป็นเอาต์พุตที่เป็นไปได้ขึ้นอยู่กับเวอร์ชัน Java ดีฟอลต์ของคุณ

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

Maven ต้องเลือกตำแหน่ง Java (โฮม) เพื่อให้คุณสามารถส่งออกพา ธ Java โดยใช้คำสั่งต่อไปนี้

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

สิ่งนี้จะทำให้ Maven สามารถเลือกรุ่นและที่ตั้งของจาวาในไฟล์ / etc / environment

คุณสามารถเพิ่มสิ่งนี้ใน / etc / environment ด้วยตนเองโดยใช้คำสั่งต่อไปนี้

sudo nano /etc/environment

และแก้ไข JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241/jre/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.