1. ต้องรีสตาร์ท
ในสปริงโบทปัจจุบันหลังจากการแก้ไขใด ๆ เกิดขึ้นจะต้องปิดก่อนที่จะเริ่มคลาสแอปพลิเคชันก่อนที่จะมีผลซึ่งดูเหมือนจะลำบากเล็กน้อย Springboot ให้วิธีการปรับใช้ที่ร้อนแรง เมื่อพบว่าคลาสใดที่มีการเปลี่ยนแปลงคลาสล่าสุดจะถูกโหลดลงในเครื่องเสมือนทันทีผ่านวิธีการโหลดคลาส JVM วิธีนี้คุณสามารถดูเอฟเฟกต์ที่แก้ไขได้โดยไม่ต้องรีสตาร์ท
2. pom.xml
วิธีนี้ง่ายมากเพียงเพิ่มการพึ่งพาใหม่ให้กับ pom.xml
<การพึ่งพา> <roupId> org.springframework.boot </groupId> <ratifactid> Spring-Boot-devtools </artifactid> <plorial> True </onftional> <!-สิ่งนี้ต้องใช้การปรับใช้ที่ร้อนแรงอย่างแท้จริง xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" http://maven.apache.org/xsd/maven-4.0.0.xsd "> <moderversion> 4.0.0 </modelversion> <moderversion> </modelversion> <Secription> SpringBoot </คำอธิบาย> <Cackaging> สงคราม </packaging> <carent> <roupId> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Starter-Parent </artifactid> <cersion> 1.5.9. <ArtIfactId> Spring-Boot-Starter-WEB </artifactId> </การพึ่งพาอาศัย> <การพึ่งพา> <GroupId> org.springframework.boot </groupId> <ArtIfactId> junit </artifactId> <sersion> 3.8.1 </Scope> <Pope> ทดสอบ </cope> </การพึ่งพา> <!- การพึ่งพา Servlet -> <predency> <sderctId> javax.servlet </groupId> <ratifactid> javax.servlet-api </artifactid> <mope> ให้ </scope> </derpendency> <roupId> org.apache.tomcat.embed </groupid> <ratifactid> tomcat-embed-jasper </artifactid> <pope> ให้ </cope> </predency> <การพึ่งพาอาศัย> <ratchtools> org.springframework.boot </groupid> <!-สิ่งนี้ต้องการการปรับใช้ที่ร้อนแรงอย่างแท้จริงมีผลบังคับใช้-> </การพึ่งพา> </perctencies> <properties> <java.Version> 1.8 </java.version> </premerties> <uffer> <build> <plugin> </plugin> </plugins> </uffer> </ched>
3. รีสตาร์ทการทดสอบ
แอปพลิเคชั่นรีสตาร์ทแล้วแก้ไข Hellocontroller อย่างไม่เป็นทางการและการรีสตาร์ทอัตโนมัติของคอนโซลจะสังเกตได้ดังแสดงในรูป
เติมเต็ม:
มาดูการรีสตาร์ทอัตโนมัติของ Springboot และเริ่มต้นร้อน
สองวิธีในการรีสตาร์ท Springboot โดยอัตโนมัติ:
1) เพิ่มปลั๊กอินโดยตรงไปยัง POM ของโครงการดังนี้:
<uffect> <plugins> <plugin> <molin> <roupId> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Maven-Plugin </artifactid> <pendencies> <! <cersion> 1.2.6.Release </เวอร์ชัน> </derctency> </pendencies> </plugin> </plugins> </uffer
เมื่อการดำเนินการไฟล์ใน classpath (รวมถึง Javadiamante และไฟล์การกำหนดค่าอื่น ๆ จะถูกบันทึกไว้) โครงการจะเริ่มต้นใหม่โดยอัตโนมัติกำจัดปัญหาของการรีสตาร์ทโครงการด้วยตนเอง
2) ใช้คลาสเครื่องมือที่จัดทำโดย Springboot เพื่อเพิ่มการพึ่งพาใน POM;
<การพึ่งพา> <!-เครื่องมือการพัฒนา SpringBoot-> <การพึ่งพา> <roupId> org.springframework.boot </groupId> <ratifactid> Spring-Boot-Devtools </artifactid>
Devtools เป็นเครื่องมือพัฒนาที่จัดทำโดย Springboot หลังจากเปิดใช้งานเครื่องมือนักพัฒนาซอฟต์แวร์การดำเนินการใด ๆ ในไฟล์ใน classpath จะทำให้แอปพลิเคชันเริ่มต้นใหม่ เครื่องมือนักพัฒนา Springboot จะยกเว้น /meta-inf /ทรัพยากร, /ทรัพยากร, /static, /สาธารณะและ /เทมเพลตเมื่อรีสตาร์ท; คุณสมบัติ Spring.devtools.restart.exclude สามารถตั้งค่าเพื่อแทนที่ไดเรกทอรีการแยกเริ่มต้นเริ่มต้น
หากคุณต้องการปิดการรีสตาร์ทอัตโนมัติคุณสามารถตั้งค่า Spring.devtools.restart.enable = False ดังที่แสดงในวิธีนี้ ไฟล์ทริกเกอร์จะต้องได้รับการแก้ไขเพื่อทริกเกอร์การรีสตาร์ทของ Spring.devtools.restart.Trigger-File เครื่องมือนักพัฒนาจะถูกปิดใช้งานเมื่อแอปพลิเคชันทำงานในขวดหรือไฟล์สงครามที่บรรจุเต็มรูปแบบ หลังจากเปิดใช้งานเครื่องมือนักพัฒนา Spring Boot จะเริ่มเซิร์ฟเวอร์ Livereload แบบฝังซึ่งจะทำให้เกิดการรีเฟรชเบราว์เซอร์เมื่อไฟล์ทรัพยากรเปลี่ยนไป สิ่งที่คุณต้องทำคือติดตั้ง Livereload ในเบราว์เซอร์ของคุณ หากคุณต้องการยกเว้นเบราว์เซอร์ในสปริงแบบฝัง devtools.livereload.enableled = false;
สรุป
ข้างต้นเป็นวิธีง่ายๆในการรีสตาร์ท Springboot โดยอัตโนมัติโดยอัตโนมัติโดยตัวแก้ไข ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!