3
การระบุเวอร์ชัน java ใน maven - ความแตกต่างระหว่างคุณสมบัติและปลั๊กอินคอมไพเลอร์
ฉันไม่ได้มีประสบการณ์เกี่ยวกับ Maven มากและในขณะที่การทดสอบกับโครงการหลายโมดูลฉันเริ่มสงสัยว่าฉันจะระบุรุ่น Java สำหรับโมดูลลูกทั้งหมดของฉันใน parent maven pom ได้อย่างไร จนถึงวันนี้ฉันใช้เพียง: <properties> <java.version>1.8</java.version> </properties> แต่เมื่อทำการวิจัยพบว่าคุณยังสามารถระบุรุ่น java ในปลั๊กอินคอมไพเลอร์ maven เช่นนั้น: <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> จากนั้นใส่สิ่งนี้ลงในแท็กการจัดการปลั๊กอินเพื่อเปิดใช้งานการใช้งานลูกปอม ดังนั้นคำถามแรกคือความแตกต่างระหว่างการตั้งค่าเวอร์ชันจาวาในคุณสมบัติและในปลั๊กอินคอมไพเลอร์ maven คืออะไร? ฉันไม่พบคำตอบที่ชัดเจน แต่ในระหว่างการวิจัยฉันพบว่าคุณยังสามารถระบุเวอร์ชันจาวาด้วยวิธีนี้: <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> ซึ่งแนะนำให้คอมไพเลอร์ปลั๊กอินมีแม้ว่าฉันไม่ชัดเจนประกาศ กำลังรันเอาต์พุตแพ็กเกจ mvn ด้วย maven-compiler-plugin:3.1:compile (default-compile) @ testproj --- และปลั๊กอินอื่น ๆ ที่ฉันไม่ได้ประกาศ ดังนั้นปลั๊กอินเหล่านั้นจึงเป็นค่าเริ่มต้นส่วนที่ซ่อนอยู่ของ …