ระบุ JDK สำหรับ tomcat7


41

ฉันได้ติดตั้งtomcat7(โดยใช้apt-get install) และเมื่อใดก็ตามที่ฉันต้องการที่จะเริ่มtomcat7มันพูดว่า:

* no JDK found - please set JAVA_HOME

ฉันได้ตั้งค่าJAVA_HOMEของฉันbash.bashrcและใน~/.bashrcและเมื่อฉันออกecho $JAVA_HOMEฉันเห็นชัดเจนว่าตัวแปรนี้ชี้ไปที่โฟลเดอร์รากของ jdk ของฉัน มีใครช่วยฉันด้วยได้ไหม

ขอบคุณ


2
สิ่งนี้ช่วยให้ฉันค้นหาตำแหน่งที่ฉันสามารถบอกได้tomcat7ว่า JDK จะใช้อะไร
icedwater

กันที่นี่ ตอนนี้ฉันรู้แล้วว่า Tomcat ค้นหา JAVA_HOME ได้ที่ไหน
slayedbylucifer

คำตอบ:


78

คุณสามารถลองสิ่งนี้:

เพียงกดCtrl+ Alt+ Tบนแป้นพิมพ์เพื่อเปิด Terminal เมื่อเปิดขึ้นให้เรียกใช้คำสั่งด้านล่าง

gksudo gedit /etc/default/tomcat7

เมื่อไฟล์เปิดขึ้นให้ยกเลิกหมายเหตุบรรทัดที่ตั้งค่าตัวแปร JAVA_HOME

ป้อนคำอธิบายรูปภาพที่นี่

บันทึกและรีสตาร์ทเซิร์ฟเวอร์ tomcat7


โปรดทราบว่าการอัพเกรดเป็น JDK 7 จะเป็นการละเมิดคำตอบนี้ การใช้ลิงก์สัญลักษณ์ที่ไม่มีหมายเลขเวอร์ชันจะอนุญาตให้อัปเกรดโดยไม่ทำให้ตัวแปรสภาพแวดล้อมใช้ไม่ได้
Dave Jarvis

1
ยังสามารถใช้ได้tomcat8เพียงแทนที่สตริงโดยtomcat7 tomcat8
nachtigall

9

Tomcat จะไม่ใช้ตัวแปรสภาพแวดล้อม JAVA_HOME ของคุณ แต่มองหาตำแหน่งที่กำหนดไว้ล่วงหน้าและในตัวแปร JAVA_HOME ที่ตั้งไว้ภายในสคริปต์เริ่มต้นเนื่องจากคำตอบอื่น ๆ ชี้ให้เห็น หากคุณไม่ชอบล้อเล่นกับสคริปต์เริ่มต้นของ Tomcat คุณสามารถสร้าง symlink สำหรับการติดตั้ง Java ที่คุณต้องการซึ่ง Tomcat จะมารับ

ตัวอย่างเช่น:

ln -s /usr/lib/jvm/java-8-oracle /usr/lib/jvm/default-java

2
สิ่งนี้ขัดแย้งกับแพ็คเกจdefault-jre-headless
Tino

5

เปิดเทอร์มินัล

echo $JAVA_HOME

คัดลอกผลลัพธ์ แล้วก็

sudo -H gedit /etc/default/tomcat7

แทนที่กับการส่งออกที่คุณคัดลอกมาจาก#JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk$JAVA_HOME


2

เพียงเพิ่มบรรทัดต่อไปนี้ใน / etc / default / tomcat7 ที่ซึ่งตัวแปร JAVA_HOME ถูกกำหนดไว้

JAVA_HOME=/usr/lib/jvm/java-7-oracle

จากนั้นเรียกใช้คำสั่ง

sudo service tomcat7 restart

0

การเพิ่มคำตอบของ Mitch (คำตอบที่ได้รับการยอมรับด้านบน) ให้ตรวจสอบ/usr/lib/jvm/ไดเรกทอรีของคุณ โดยปกติจะมีการติดตั้งจาวาเอง

คุณอาจติดตั้ง oracle java หรือคุณอาจติดตั้ง java เวอร์ชันล่าสุด เพียงแค่เช็กเอาต์ไดเรกทอรีที่/usr/lib/jvm/และเพิ่มจาวาของคุณ

สำหรับฉันมันเป็น:

/usr/lib/jvm/java-8-oracle

ดังนั้นแทนที่

#JAVA_HOME=/some/directory

กับ

#JAVA_HOME=/usr/lib/jvm/java-8-oracle

ทำงานให้ฉัน

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