คำนำ
วันนี้ฉันพบปัญหา เรามีไฟล์ไบนารี ip.dat ผ่านเนื้อหาเราสามารถแยกวิเคราะห์ข้อมูลระดับภูมิภาคของ IP การทดสอบหน่วยท้องถิ่นก็โอเค หลังจากปรับใช้กับสภาพแวดล้อมการทดสอบเราพบข้อผิดพลาดเมื่อแยกวิเคราะห์ IP หากคุณใช้ที่อยู่ IP ที่พิมพ์ออกมาในสภาพแวดล้อมการทดสอบไม่มีปัญหาในการทดสอบในพื้นที่ ในที่สุดฉันก็พบว่าขนาดไฟล์ ip.dat ของฐานรหัสอยู่ที่ประมาณ 3.5m ในขณะที่ขนาดไฟล์ ip.dat ของสภาพแวดล้อมการทดสอบอยู่ที่ประมาณ 5 เมตร
คำถามคือ: ทำไมไฟล์จึงมีขนาดใหญ่ขึ้นหลังจาก IP.Dat ถูกบรรจุผ่าน Maven? เนื่องจากเมื่อมีการบรรจุ Maven ไฟล์นี้จะถูกคัดลอกจากไดเรกทอรี COF ด้านล่าง SRC/Main/Resources/ ฉันวาง ip.dat โดยตรงในไดเรกทอรี COF แทนไดเรกทอรีทรัพยากรและพบว่าขนาดเป็นเรื่องปกติหลังจากบรรจุภัณฑ์
กล่าวอีกนัยหนึ่งในระหว่างกระบวนการบรรจุภัณฑ์ Maven ไฟล์ใน SRC/Main/Resources/Directory นั้นมีขนาดใหญ่กว่าเท่านั้น เพราะเราเปิดใช้งานการกรองทรัพยากรใน POM
<resources> <resource> <ไดเรกทอรี> SRC/Main/Resources </Directory> <filtering> True </filtering> </sursece> </sursesore>
สารละลาย
โซลูชันนั้นง่ายมาก: เพียงแค่ใส่ ip.dat ในไดเรกทอรี COF โดยไม่ต้องเข้าร่วมในการกรองทรัพยากร หากคุณต้องวาง ip.dat ในไดเรกทอรีทรัพยากรคุณสามารถแก้ปัญหาได้ผ่านการกำหนดค่าต่อไปนี้
<resources> <!-ไม่รวม ip.dat ไม่ได้บรรจุลงใน classpath โดยธรรมชาติจะไม่มีการกรอง-> <sroves> <sresory> src/main/resources </directory> <dilter> true </filtering> <Irectory> SRC/Main/Resources </Directory> <S Filter> FALSE </filtering> <cencal> <cult> ip.dat </cult> </cold> </resources> </resources>
เมื่อใช้ Maven สำหรับการกรองทรัพยากรเพียงแค่กรองไฟล์ที่ต้องกรองไฟล์ไบนารีบางไฟล์เช่นใบรับรอง HTTPS ฯลฯ ไม่ได้เข้าร่วมในการกรองทรัพยากรมิฉะนั้นเนื้อหาไฟล์จะเสียหายหลังจากบรรจุภัณฑ์
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่าเนื้อหาของบทความนี้จะมีค่าอ้างอิงบางอย่างสำหรับการศึกษาหรือที่ทำงานของทุกคน หากคุณมีคำถามใด ๆ คุณสามารถฝากข้อความไว้เพื่อสื่อสาร ขอบคุณสำหรับการสนับสนุน Wulin.com