หากคุณไม่ต้องการใช้ application.properties เริ่มต้น properties แต่ต้องการวางไฟล์คุณสมบัติด้านนอกแพ็คเกจ JAR คุณสามารถใช้สองวิธีต่อไปนี้:
สามารถตั้งค่าเส้นทางเต็มได้เท่านั้น เนื่องจากเมื่อ Java -jar รันแพ็คเกจ JAR จึงไม่สามารถระบุ ClassPath ได้ (ไม่ว่าจะผ่านพารามิเตอร์หรือตัวแปรสภาพแวดล้อมการตั้งค่า classPath จะถูกเขียนทับ)
วิธีที่ 1: ผ่านพารามิเตอร์บรรทัดคำสั่งเพื่อระบุ Spring.config.location
java -jar -dspring.config.location = d: /ztest/config/config1.properties springbootrestdemo-0.0.1-snapshot.jar
นอกจากนี้คุณยังสามารถใช้ spring.config.location เพื่อระบุเส้นทางเพื่อที่คุณจะได้พบ application-{profile}.properties ในเส้นทางนี้
นอกจากนี้คุณยังสามารถระบุเส้นทางด้วย spring.config.location จากนั้นระบุชื่อไฟล์การกำหนดค่าด้วย spring.config.name
คุณสามารถแยกเส้นทางและชื่อหลายเส้นทางด้วยเครื่องหมายจุลภาค
วิธีที่ 2: ใช้คำอธิบายประกอบ @PropertySource
@springbootapplication@propertysource (value = {"ไฟล์: d:/ztest/config/config1.properties"}) คลาสสาธารณะ Springbootrestdemoapplication {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {Springapplication.run -ลองดูที่ไฟล์การกำหนดค่าสปริงบูตและไฟล์บันทึกนอกขวด
1. ยกเว้นไฟล์เมื่อตั้งค่า jar แพ็คเกจ
<resources> <resources> <ไดเรกทอรี> SRC/Main/Resources </Directory> <cecludes> <cerfrude>*. คุณสมบัติ </exclude> <cedsol> logback.xml </exclude>
2. ผ่านพารามิเตอร์เพื่อระบุตำแหน่งเมื่อเริ่มต้น
java -jar xxx.jar ---spring.config.location = d:/springconfig/ -logging.config = d: /springconfig/logback.xml
ตำแหน่งเริ่มต้นของ Springboot เพื่อค้นหาไฟล์การกำหนดค่ามีดังนี้
// หมายเหตุคำสั่งซื้อตั้งแต่อย่างน้อยไปจนถึงอย่างน้อยที่สุด (สุดท้ายชนะ) สตริงสุดท้ายคงที่ส่วนตัว default_search_locations = "classpath:/, classpath:
สรุป
ด้านบนเป็นรองเท้าสปริงที่แนะนำโดยตัวแก้ไข ใส่ไฟล์การกำหนดค่าและไฟล์บันทึกด้านนอก JAR ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!