เผยแพร่โครงการ Spring-Boot ไปยังคอนเทนเนอร์ Tomcat ตามโครงการเว็บปกติ
1. แก้ไขแบบฟอร์มบรรจุภัณฑ์
ตั้งค่า <packaging>war</packaging> ใน pom.xml
2. ถอดปลั๊กอิน Tomcat ฝังตัว
ค้นหาโหนดการพึ่งพา Spring-Boot-Starter-Web ใน pom.xml เพิ่มรหัสต่อไปนี้ลงไป
<การพึ่งพา> <roupID> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Starter-Web </Artifactid> <!-ลบปลั๊กอิน Tomcat ที่ฝังตัว-> <exclusions> <exclusion> </excusision> </exclusions> </dependency>
3. เพิ่มการพึ่งพา servlet-api
ทั้งสองวิธีต่อไปนี้ใช้ได้เลือกหนึ่งในนั้น
<Ependency> <sderctId> javax.servlet </groupId> <ratifactid> javax.servlet-api </artifactid> <sersion> 3.1.0 </scope> <pope> ให้ </cope> <cersion> 8.0.36 </version> <cope> มีให้ </cope> </dependency>
4. แก้ไขคลาสเริ่มต้นและเขียนวิธีการเริ่มต้นใหม่
เรามักจะใช้วิธีการหลักในการเริ่มต้นและเรามีคลาสเริ่มต้นแอปรหัสมีดังนี้:
@springbootapplicationpublic คลาสแอปพลิเคชัน {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {springapplication.run (application.class, args); -เราต้องการการกำหนดค่าที่คล้ายกับ web.xml เพื่อเริ่มบริบทฤดูใบไม้ผลิ เพิ่มคลาส SpringbootStartApplication ในระดับของคลาสแอปพลิเคชันพร้อมกันและรหัสของมันมีดังนี้:
/** * แก้ไขคลาสเริ่มต้น, สืบทอด SpringbootservletInitializer และเขียนทับวิธีการกำหนดค่า */คลาสสาธารณะ SpringbootStartApplication ขยาย SpringbootservletInitializer {@Override ป้องกัน SpringApplicationBuilder Builder.Sources (Application.class); -5. แพ็คเกจและการปรับใช้
ในไดเรกทอรีรากโครงการ (นั่นคือไดเรกทอรีที่มี pom.xml), Enter:
แพ็คเกจ MVN Clean นั้นเพียงพอแล้ว รอให้บรรจุภัณฑ์เสร็จสิ้น [ข้อมูล] สร้างความสำเร็จปรากฏขึ้นและบรรจุภัณฑ์ก็ประสบความสำเร็จ
จากนั้นใส่แพ็คเกจสงครามในไดเรกทอรีเป้าหมายลงในไดเรกทอรี WebApps ของ Tomcat เริ่มต้นที่ Tomcat และคลายการบีบอัดและปรับใช้โดยอัตโนมัติ
ในที่สุดก็เข้าสู่เบราว์เซอร์
http: // localhost: [หมายเลขพอร์ต]/[ชื่อโครงการแพ็คเกจ]/
การเปิดตัวประสบความสำเร็จ
PS: ลองดูที่โซลูชันของแพ็คเกจ Springboot War Tomcat Run Startup Startup (ไม่สามารถกำหนดคลาสไดรเวอร์ฐานข้อมูลฝังฐานข้อมูลสำหรับประเภทฐานข้อมูลไม่มี)
โครงการของเราดำเนินการโดยตรงโดยแพ็คเกจ JAR เมื่อวานนี้เพื่อนร่วมงานของฉันบอกว่าเขาต้องการที่จะทำงานใน Tomcat ดังนั้นฉันจึงช่วยเขาสร้างรายได้เป็นเวลานาน ฉันจะแนะนำให้คุณฟังในบทความ เพื่อนที่ต้องการมันสามารถคลิกเพื่อดูได้
จากนั้นก็มีการบรรจุสำเร็จและนำไปใช้กับ Tomcat ในท้องถิ่นและรายงานข้อผิดพลาดในชื่อเมื่อเริ่มต้น หลังจากค้นหาออนไลน์มีการกล่าวกันว่ามีการเพิ่มคำอธิบายประกอบลงในคลาสเริ่มต้น :@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class)
การทดสอบส่วนตัวของฉันไม่ถูกต้อง
สารละลาย:
คำอธิบายประกอบสำหรับคลาสเริ่มต้น :@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) ใช้ได้สำหรับการทดสอบส่วนบุคคล