ข้อกำหนดของฉันคือ เมื่อฉันสร้างโปรเจ็กต์ด้วยโปรไฟล์ 'dev' (mvn clean install -Pdev) ในเวลานั้น ฉันจำเป็นต้องปิดการใช้งานคุณสมบัติบางอย่าง หากโปรไฟล์ไม่ใช่ 'dev' ก็ไม่จำเป็นต้องลบคุณสมบัติเหล่านั้น นี่คือ root pom.xml ของฉัน
<profile>
<id>dev</id>
<modules>
<module>../cmn/module1</module>
<module>../cmn/module2</module>
<module>../cmn/module3</module>
</modules>
</profile>
ฉันต้องปิดการใช้งานคุณสมบัติบางอย่างในโมดูล 3 (ซึ่งมี pom.xml แยกต่างหาก) และฉันกำลังวางคุณลักษณะตัวอย่างที่ต้องปิดการใช้งานเมื่อโปรไฟล์เป็น 'dev'
@Configuration
public class Sample{
}
ฉันรู้ว่า @Profile เป็นคำอธิบายประกอบที่ถูกต้องในการปิดการใช้งานคุณสมบัติบางอย่าง จากนั้นฉันก็ได้แก้ไขคลาสเป็นแบบด้านล่างนี้
@Configuration
@Profile("!dev")
public class Sample{
}
'!dev' หมายความว่าคุณสมบัตินี้ถูกปิดใช้งานสำหรับโปรไฟล์ 'dev' นอกเหนือจาก 'dev' ควรเปิดใช้งาน แต่ด้วย @Profile(!dev) คุณลักษณะจะไม่ถูกปิดใช้งาน ฉันได้สร้างโครงการด้วย 'mvn clean install -Pdev' โปรเจ็กต์ยังคงมีตัวอย่างฟีเจอร์
เกิดอะไรขึ้นกับฉัน? ฉันจะปิดการใช้งานคุณสมบัติตัวอย่างได้อย่างไรเมื่อโปรเจ็กต์ของฉันสร้างด้วยโปรไฟล์ 'dev'
ขอบคุณล่วงหน้า...
mvn clean install -Pdev -DprofileIdEnabled=true
- person Paplusc   schedule 03.02.2021