ไม่รวม src / main / java จากการคอมไพล์ด้วย maven-compiler-plugin

Sep 03 2020

มีใครทราบวิธีการลบ Source root จาก maven-compiler-plugin หรือไม่?

[DEBUG] Source roots:
[DEBUG]  C:\Workspace\Dev01\Internet_Login\src\main\java
[DEBUG]  C:\Workspace\Dev01\Internet_Login\target\generated-sources\delombok

เนื่องจากฉันสร้างซอร์สด้วย lombok-maven-plugin จากC: \ Workspace \ Dev01 \ Internet_Login \ src \ main \ javaแต่ maven-compiler-plugin ใช้ทั้ง Source root และฉันได้รับข้อผิดพลาดในการคอมไพล์

หลังจากคอมไพล์แล้วฉันใช้ Aspectj ดังนั้นฉันจึงต้องทำแบบนี้เพราะ Lombok และ Aspectj "เข้ากันไม่ได้"

ใครมีวิธีแก้ปัญหา

แก้ไข:

ฉันมีวิธีแก้ปัญหา เพียงกำหนด sourceDirectory ในบิลด์และคอมไพเลอร์จะใช้ไดเร็กทอรีนี้

<build>
    <sourceDirectory>${project.build.directory}/generated-sources/delombok</sourceDirectory>
    ...
</build>

ขอบคุณ

คำตอบ

Seeker Sep 03 2020 at 13:42

คุณลองยกเว้นหรือไม่

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
   <configuration>
        <excludes>
            <exclude>src/main/java/</exclude>
        </excludes>                  
    </configuration>
</plugin>
kriegaex Sep 05 2020 at 02:24

ตามที่ Chrylis แนะนำคุณควรวางคลาสใด ๆ ที่มีคำอธิบายประกอบ Lombok src/main/lombokเมื่อใช้ปลั๊กอินนั้น นี้ถูกบันทึกไว้อย่างชัดเจนในตัวของมันหน้าการใช้งาน

นอกจากนี้ยังมีโครงการตัวอย่างที่คุณสามารถดูวิธีการธรรมดาเรียน Java โดยไม่ต้องคำอธิบายประกอบลอมบอกจะอยู่ในและเป้าหมายในลอมบ็อกsrc/main/javasrc/main/lombok

เพียงทำตามคำแนะนำและคุณควรจะสบายดีสำหรับปลั๊กอิน Maven Compiler สำหรับ AspectJ นั้นขึ้นอยู่กับว่าคุณต้องการสานแง่มุมของคุณอย่างไร (เวลาในการรวบรวม, การทอแบบไบนารี, เวลาในการโหลด) และประเด็นที่อยู่ในโมดูลเดียวกันหรือโมดูลอื่น