วิธีใช้ Tomcat 8.5.x และ TomEE 7.x กับ Eclipse


93

ฉันต้องการตั้งค่าเวอร์ชันเซิร์ฟเวอร์Tomcat 8.5.xใน Eclipse เมื่อฉันพยายามสร้างเซิร์ฟเวอร์โดยใช้ Eclipse GUI ฉันได้รับ Eclipse Luna เป็นตัวเลือกเวอร์ชันล่าสุด " Apache Tomcat v8.0 " เมื่อฉันเลือกและเรียกดูเซิร์ฟเวอร์ Tomcat 8.5.x ของฉันฉันได้รับข้อความแสดงข้อผิดพลาดการบล็อกนี้:

การติดตั้ง Apache Tomcat ในไดเร็กทอรีนี้คือเวอร์ชัน 8.5.0 คาดว่าจะมีการติดตั้ง Tomcat 8.0

ข้อผิดพลาดเดียวกันนี้จะปรากฏขึ้นเมื่อลองใช้ TomEE 7.x ซึ่งอ้างอิงจาก Tomcat 8.5 ภายใน

ในEclipse Neonเวอร์ชันล่าสุดที่เป็นตัวเลือกคือ " Apache Tomcat v9.0 " และให้ข้อผิดพลาดเดียวกัน ไม่มีแม้แต่ตัวเลือก " Apache Tomcat v8.5 "

มีวิธีใช้ Tomcat 8.5และ TomEE 7.x ใน Eclipse หรือไม่? อย่างไร?

คำตอบ:


131

คุณต้องแก้ไขcatalina.jarเนื่องจากนี่คือหมายเลขเวอร์ชันที่อะแดปเตอร์ WTP ดู เป็นการตรวจสอบที่ค่อนข้างไร้ประโยชน์และอะแดปเตอร์ควรอนุญาตให้คุณเริ่มเซิร์ฟเวอร์ได้ แต่ยังไม่มีใครทำเช่นนั้น

เป็นเวลาหลายปีและกับ Tomcat ทุกรุ่นปัญหานี้มักจะเกิดขึ้น

ในการแก้ไขคุณสามารถทำสิ่งต่อไปนี้:

  • cd [tomcat or tomee home]/lib
  • mkdir catalina
  • cd catalina/
  • unzip ../catalina.jar
  • vim org/apache/catalina/util/ServerInfo.properties

ตรวจสอบให้แน่ใจว่ามีลักษณะดังนี้ (หมายเลขเวอร์ชันทั้งหมดต้องขึ้นต้นด้วย 8.0):

server.info=Apache Tomcat/8.0.0
server.number=8.0.0
server.built=May 11 2016 21:49:07 UTC

จากนั้น:

  • jar uf ../catalina.jar org/apache/catalina/util/ServerInfo.properties
  • cd ..
  • rm -rf catalina

5
ใน Tomcat 8.5.3 catalina.jar อยู่ในโฟลเดอร์ lib
จอน

38
+1. สำหรับผู้ที่ใช้ Windows OS คุณสามารถทำการเปลี่ยนแปลงที่ต้องการได้จากไฟล์ JAR เพียงเปิดcatalina.jarด้วยยูทิลิตี้ไฟล์เก็บถาวรของคุณ (WinRar, WinZip, 7zip ฯลฯ ) ไปที่ไฟล์org \ apache \ catalina \ util \ ServerInfo.propertiesทำการเปลี่ยนแปลงและบันทึก (ยืนยันว่าคุณต้องการอัปเดตไฟล์เก็บถาวร ).
informatik01

16
อัปเดตและคุณจำเป็นต้องเปลี่ยนเวอร์ชันในserver.info=บรรทัดเท่านั้น (เช่นserver.info = Apache Tomcat / 8.0.0 ) และสามารถเว้นหมายเลขเซิร์ฟเวอร์ไว้ได้ตามที่เป็นอยู่ server.number=8.5.4.0ยกตัวอย่างเช่นผมได้ทิ้งมันแตะต้องเช่นนี้ ใช้งานได้โดยไม่มีปัญหา
informatik01

7
-1: การปรับเปลี่ยนเซิร์ฟเวอร์เพื่อเรียกร้องจะเป็นรุ่นที่แตกต่างกันเป็นบิตของสับเมื่อเห็นได้ชัดว่าเป็นสิ่งที่เหมาะสมที่จะทำคือการปรับเปลี่ยนคราสจะยอมรับรุ่นที่แท้จริงซึ่งได้รับการทำและอธิบายไว้ในคำตอบอื่น
Periata Breatta

2
หลังจากใช้การแฮ็กนี้ฉันได้รับ "Tomcat รุ่นที่ไม่รู้จักระบุ" ข้อผิดพลาด
Atmesh Mishra

42

มีแพทช์สำหรับ Eclipse:
https://bugs.eclipse.org/bugs/attachment.cgi?id=262418&action=edit

ดาวน์โหลดโปรแกรมแก้ไขนี้และนำไปไว้ในไดเร็กทอรีปลั๊กอินของการติดตั้ง Eclipse ของคุณ มันจะแทนที่ค่าเริ่มต้น " org.eclipse.jst.server.tomcat.core_1.1.800.v201602282129.jar "

หมายเหตุ
หลังจากที่คุณเพิ่มโปรแกรมแก้ไขนี้คุณต้องเลือก " Apache Tomcat v9.0 " เมื่อเพิ่มสภาพแวดล้อมรันไทม์ของเซิร์ฟเวอร์ใน Eclipse (การกำหนดลักษณะ> เซิร์ฟเวอร์> สภาพแวดล้อมรันไทม์ )
เช่นแพทช์นี้ให้คุณเลือก Tomcat เวอร์ชัน 9.x หรือ Tomcat เวอร์ชัน 8.5.x เมื่อเพิ่มสภาพแวดล้อมรันไทม์ Apache Tomcat v.9.0


สามารถดูรายละเอียดเพิ่มเติมได้ในหน้ารายงานข้อบกพร่องที่เกี่ยวข้อง: https://bugs.eclipse.org/bugs/show_bug.cgi?id=494936


โปรดทราบว่าการอัปเดตนี้ดูเหมือนจะรวมอยู่ในการแจกแจงล่าสุดของ Neon ดังนั้นเพียงแค่เลือกตัวเลือก Tomcat 9.x ก็อาจทำงานได้โดยไม่จำเป็นต้องอัปเดตปลั๊กอิน
Periata Breatta

3
ใช้งานไม่ได้กับเวอร์ชัน: Luna Service Release 2 (4.4.2) อะแดปเตอร์ tomcat ของฉันหายไปหลังจากแพตช์
adranale

ฉันใช้ eclipse เวอร์ชัน Mars.2 (4.5.2) และใช้แพตช์นี้ ตอนนี้อะแดปเตอร์ tomcat ที่มีอยู่หายไปหมดแล้ว นี่มันบ้าปะตอนนี้ฉันกำลังจะกลับมาแล้ว
mannedear

36

สำหรับผู้ใช้Tomcat 8.5.x

คุณได้เปลี่ยนServerInfo.propertiesไฟล์ Tomcat ของ/lib/catalina.jarไฟล์

ServerInfo.properties ไฟล์มีรหัสต่อไปนี้

server.info=Apache Tomcat/8.5.4
server.number=8.5.4.0
server.built=Jul 6 2016 08:43:30 UTC

เพียงแค่เปิดServerInfo.propertiesไฟล์โดยเปิดcatalina.jarด้วยwinrarจากโฟลเดอร์lib ของ Tomcat

ServerInfo.propertiesตำแหน่งไฟล์ในcatalina.jarคือ/org/apache/catalina/util/ServerInfo.properties

หมายเหตุ: shutdownเซิร์ฟเวอร์ Tomcat (หากเปิดโดย cmd แล้ว) ก่อนทำสิ่งเหล่านี้มิฉะนั้นไฟล์ของคุณจะไม่เปลี่ยนแปลงและwinrarของคุณแสดงข้อผิดพลาด

จากนั้นเปลี่ยนรหัสต่อไปนี้ใน ServerInfo.properties

server.info=Apache Tomcat/8.0.8.5.4
server.number=8.5.4.0
server.built=Jul 6 2016 08:43:30 UTC

รีสตาร์ทคราสของคุณ(ถ้าเปิด) ตอนนี้มันจะทำงาน ...

ภาพหน้าจอของคราส


มันทำงานบน OS X ด้วยหรือไม่? ฉันเพิ่งแก้ไข catalina.jar ของฉันและมันใช้งานไม่ได้ (ไม่มีอะไรเปลี่ยนแปลงหลังจากแพตช์) เวอร์ชัน Eclipse ของฉันคือ: Eclipse Java EE IDE สำหรับ Web Developers เวอร์ชัน: Mars.2 Release (4.5.2) Build id: 20160218-0600
pidabrow

แน่นอนว่ามันจะใช้งานได้กับ OS X ด้วยตอนแรกฉันทำการเปลี่ยนแปลงเหล่านี้บน Mac เท่านั้น หลังจากนั้นฉันวางแผนที่จะใช้ Tomcat บน windows ผมก็เลยโพสต์เป็นคำตอบที่นี่ ลองดูสิ ... @piotrdab
Vinoth Vino

10

สำหรับตอนนี้บริการปล่อย Eclipse Neon  พร้อมให้บริการแล้ว ดังนั้นหากยังมีใครพบปัญหานี้ให้ไปที่

วิธีใช้→ตรวจสอบการอัปเดต

และติดตั้งการอัปเดตที่มีให้


โปรดทราบว่าคุณยังคงต้องเลือกApache Tomcat v9.0จากรายการรันไทม์ของเซิร์ฟเวอร์ซึ่งใช้งานง่ายเล็กน้อย แต่ก็ใช้งานได้
Periata Breatta

1
ฉันมีEclipse Java EE IDE สำหรับนักพัฒนาเว็บรุ่นNeon.1 รีลีส (4.6.1) ท่ามกลางเก่า vestions Tomcat ฉันยังมีv8.0, v8.5และv9.0ที่มีอยู่ในกำหนดเซิร์ฟเวอร์ใหม่หน้าต่าง บางที Eclipse เวอร์ชันที่คุณใช้อาจแตกต่างออกไป
Cryptor

3
ฉันยืนยันว่าEclipse Neon.1 (4.6.1)เพิ่มเซิร์ฟเวอร์ Tomcat
v8.5

อืม .. ฉันมี 4.6.0 ที่อัปเกรด WST ผ่านการดำเนินการที่แนะนำและยังไม่มี Tomcat 8.5 ในรายการ ... แต่ Tomcat 9.0 ใช้งานได้ แปลกประหลาด.
Periata Breatta

Eclipse Neon.3 (4.6.3) ยังมีเซิร์ฟเวอร์ Tomcat
v8.5

4

วิธีแก้ปัญหานี้ใช้ได้ผลสำหรับฉัน ฉันแก้ไขไฟล์serverInfo.propertiesตามที่ระบุด้านล่าง:

server.info=Apache Tomcat/8.0.0
server.number=8.0.0.0
server.built=Oct 6 2016 20:15:31 UTC


2

ฉันมีปัญหาที่คล้ายกันกับ Eclipse Kepler v3.8 ฉันติดตั้ง tomcat v8.5.37 แล้ว ฉันไม่เห็น Apache v8.5 เป็นตัวเลือก โดยการอ่านผ่าน StackOverflow ฉันพบว่า Apache v9.0 มีอยู่ใน Eclipse Neon สิ่งที่ยอดเยี่ยมคือคุณไม่จำเป็นต้องเปลี่ยนเวอร์ชันคราสของคุณ ใน Eclipse ปัจจุบันของคุณ ดาวน์โหลด WTP (Web Tools Package) โดยทำตามขั้นตอน:

ขั้นตอนที่ 1: วิธีใช้ >>> ติดตั้งซอฟต์แวร์ใหม่ คัดลอกลิงค์นี้ใน Work with: http://download.eclipse.org/webtools/repository/neon

ขั้นตอนที่ 2: เลือกJST Server AdaptersและJST Server Adapters Extensionsจากแพ็คเกจแรกที่คุณเห็น ติดตั้งเหล่านั้น

ขั้นตอนที่ 3: Windows >>> ค่ากำหนด >>> เซิร์ฟเวอร์ >>> สภาพแวดล้อมรันไทม์ >>> เพิ่ม ..

คุณจะเห็น Apache v9.0 ที่นั่น! มันได้ผล!


ขอบคุณ! ฉันเพิ่งติดตั้ง Eclipse 2019-03 บน MacBook ของฉันและ Tomcat เป็นปลั๊กอินที่หายากที่สุดสำหรับฉัน ฉันใช้download.eclipse.org/webtools/repository/2019-03
Thad

1

ไปที่เวอร์ชันตัวอย่างของ tomcat เช่น tomcat 8.3 และคัดลอกไฟล์ catalina.jar แล้ววางลงใน tomcat ที่มีอยู่ซึ่งคุณประสบปัญหา


0

ยกโทษให้ฉันที่อ้างปัญหาเก่า ๆ แต่มันก็เป็นเหมือนตำนานที่เกิดขึ้นสำหรับผู้ใช้ใหม่เสมอ เหตุผลที่ฉันมาที่นี่คือฉันต้องการคำตอบที่แตกต่างกัน ค่อนข้างง่าย โปรดไปที่windows-> การตั้งค่า -> สภาพแวดล้อมรันไทม์ -> ค้นหาและเลือกโฟลเดอร์ที่คุณดาวน์โหลดเซิร์ฟเวอร์ มันจะตรวจจับเซิร์ฟเวอร์โดยอัตโนมัติและคุณพร้อมที่จะไป


0

ฉันเดาว่าคุณกำลังใช้ Eclipse Mars หรือรุ่นก่อนหน้านี้ คุณต้องอัปเกรดเป็น Eclipse Neon หรือใหม่กว่า

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