0x01. ภาพรวม
Springboot มักจะใช้เจ๋งมากจนรวม Tomcat เข้าด้วยกัน เราสามารถเขียนคลาสการเริ่มต้น SBT โดยตรงจากนั้นเปิดใช้งานบริการคอนเทนเนอร์ Tomcat ในตัวด้วยคลิกเดียว มันง่ายมากที่จะเริ่มต้น แต่เมื่อพิจารณาถึงสถานการณ์จริงเซิร์ฟเวอร์ Tomcat ของเราจะถูกปรับใช้โดยทั่วไปและมีวิธีการบำรุงรักษาพิเศษ ในเวลานี้เราจำเป็นต้องตัดเซิร์ฟเวอร์ Tomcat ในตัวของแอปพลิเคชัน SBT แล้วเผยแพร่และปรับใช้แอปพลิเคชันไปยังคอนเทนเนอร์ Tomcat ภายนอก บทความนี้จะฝึกฝนสิ่งนี้
0x02. ปรับเปลี่ยนวิธีการบรรจุภัณฑ์
ในการปรับเปลี่ยนการกำหนดค่า POM.XML ของโครงการเราจะแก้ไขวิธีการบรรจุภัณฑ์เป็นสงครามเช่น:
<RoupID> com.example </groupId> <ratifactId> การสาธิต </artifactid> <version> 0.0.1-snapshot </version> <packaging> สงคราม </packaging>
0x03. ลบ Tomcat ที่ฝังอยู่ซึ่งมาพร้อมกับ SBT
แก้ไข pom.xml เพื่อลบปลั๊กอิน Tomcat ที่ฝังอยู่ซึ่งมาพร้อมกับ Springboot จาก Maven's Pom
<การพึ่งพา> <roupID> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Starter-Web </Artifactid> <!-ลบปลั๊กอิน Tomcat ที่ฝังตัว-> <exclusions> <exclusion> </excusision> </exclusions> </dependency>
0x04. เพิ่มการพึ่งพา servlet-api
แก้ไข pom.xml และเพิ่มการพึ่งพา servlet-api ใน pom ของ maven
<Ederency> <sderctId> javax.servlet </groupId> <ratifactid> javax.servlet-api </artifactid> <version> 3.1.0 </version> <pope> ให้ </cope>
0x05. แก้ไขคลาสเริ่มต้นและแทนที่วิธีการเริ่มต้น
ใน Springboot เรามักจะเริ่มวิธีการหลักและเรามีคลาสเริ่มต้น SpringBootapplication รหัสที่คล้ายกันมีดังนี้:
@springbootapplicationpublic คลาสแอปพลิเคชัน {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {springapplication.run (application.class, args); -ตอนนี้เราต้องการการกำหนดค่าที่คล้ายกับ web.xml เพื่อเริ่มแอปพลิเคชันฤดูใบไม้ผลิ ด้วยเหตุนี้เราจึงเพิ่มคลาส SpringbootStartApplication ในระดับเดียวกันของคลาสแอปพลิเคชันและรหัสมีดังนี้:
// ปรับเปลี่ยนคลาสเริ่มต้นสืบทอด SpringbootservletInitializer และแทนที่วิธีการกำหนดค่าระดับสาธารณะระดับสปริงโบทสตาร์ทแอปพลิเคชันขยาย SpringbootservletInitializer {@Override ป้องกัน SpringApplicationBuilder (SpringApplicationBuilder Bopyder Return Builder.Sources (Application.class); -0x06. ปรับใช้กับคอนเทนเนอร์ Tomcat ภายนอกและตรวจสอบ
จดจำการดำเนินการบรรจุภัณฑ์ Maven ในไดเรกทอรีรากของโครงการ (นั่นคือไดเรกทอรีที่มี pom.xml):
แพ็คเกจ MVN Clean
การรอให้บรรจุภัณฑ์เสร็จสมบูรณ์ [INFO] BUILD SUCCESS ดูเหมือนจะเป็นบรรจุภัณฑ์สำเร็จ
จากนั้นเราใส่แพ็คเกจสงครามที่สร้างขึ้นในไดเรกทอรีเป้าหมายลงในไดเรกทอรี WebApps ของ Tomcat เริ่มต้นที่ Tomcat และคลายการบีบอัดและปรับใช้โดยอัตโนมัติ
ในที่สุดก็ตรวจสอบในเบราว์เซอร์:
http://YOUR_IP:[端口号]/[打包项目名]
นอกจากนี้คุณยังสามารถตั้งชื่อรูทโครงการโดยตรงเพื่อให้คุณสามารถเข้าถึงแอปพลิเคชัน Springboot ใน Tomcat
http://YOUR_IP:[端口号]
สรุป
ด้านบนเป็นแอปพลิเคชัน Springboot ที่แนะนำโดยตัวแก้ไขให้คุณถูกปรับใช้ในคอนเทนเนอร์ Tomcat ภายนอก ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!