Maven 3.0.4 - รันตัวประมวลผลคำอธิบายประกอบหลังจากการคอมไพล์

ฉันต้องการเรียกใช้ขั้นตอนพื้นฐานต่อไปนี้ภายในโปรเจ็กต์ Maven 3.0.4 ของฉัน ฉันมีพื้นฐานทั้งหมดแล้วและไม่มีปัญหาใดๆ แต่กำลังประสบปัญหาในขั้นตอนที่ 3 ด้วยเหตุผลบางอย่าง วิธีแก้ปัญหาเบื้องต้นกำลังหลบเลี่ยงฉันอยู่ เนื่องจากดูเหมือนว่าเป็นสิ่งที่ควรจะชัดเจนมาก

  1. เรียกใช้การล้าง/ติดตั้งขั้นพื้นฐาน (โดยไม่ต้องประมวลผลคำอธิบายประกอบ)
  2. ขอให้มีการรันการสร้างไซต์
  3. ก่อนที่การสร้างไซต์จะเริ่มต้น เรียกใช้การประมวลผลคำอธิบายประกอบในคลาสที่คอมไพล์แล้วโดยใช้คลาสตัวประมวลผลคำอธิบายประกอบที่คอมไพล์ในขั้นตอนเริ่มต้น

ฉันพยายามตั้งค่าเป้าหมายการประมวลผลคำอธิบายประกอบดังนี้:

<plugin>
  <groupId>org.bsc.maven</groupId>
  <artifactId>maven-processor-plugin</artifactId>
  <executions>
    <execution>
      <id>process</id>
      <goals>
        <goal>process</goal>
      </goals>
      <phase>pre-site</phase>
      <configuration>
        <outputDirectory>${basedir}/target/generated-documentation</outputDirectory>
        <processors>
          <processor>com.mydomain.MyFancyAnnotationProcessor</processor>
        </processors>
      </configuration>
    </execution>
  </executions>
</plugin>

ด้วยเหตุผลบางอย่าง ดูเหมือนว่าจะใช้งานไม่ได้ ฉันรู้สึกเหมือนกำลังทำอะไรบางอย่างที่โง่เขลามากจนขัดขวางไม่ให้เกิดผล

ฉันกำลังใช้ Maven Annotation Plugin แทน ปลั๊กอิน Mojo Apt พื้นฐาน ฉันไม่รังเกียจที่จะเปลี่ยนหากมีคนมีวิธีแก้ไขปัญหาที่ใช้งานได้ ฉันลองทั้งสองอย่างโดยไม่มีสัญญาณของความสำเร็จในทันที อีกครั้งที่รู้สึกเหมือนเป็นเพียงบางสิ่งที่ชัดเจนที่ฉันมองข้ามไป

ได้รับข้อผิดพลาด:

[INFO] diagnostic error: Annotation processor 'com.mydomain.MyFancyAnnotationProcessor' not found
[ERROR] error on execute: error during compilation

person Community    schedule 10.07.2012    source แหล่งที่มา
comment
โดยเฉพาะ อะไรไม่ทำงาน? มันไม่ได้ทำงานอยู่เหรอ? มันเกิดข้อผิดพลาดเหรอ? คุณได้รับผลลัพธ์ที่ผิด...?   -  person jtahlborn    schedule 10.07.2012
comment
ขออภัย - ฉันอัปเดตรายการโดยมีข้อผิดพลาดที่ด้านล่าง   -  person    schedule 10.07.2012


คำตอบ (1)


ฉันเดาว่าปลั๊กอินไม่ได้รวมโปรเจ็กต์ปัจจุบันไว้ในคลาสพาธ ทางออกที่ดีที่สุดคือแยกตัวประมวลผลคำอธิบายประกอบออกเป็นโมดูล (ย่อย) ของตัวเองหากเป็นไปได้ หากคุณไม่สามารถทำเช่นนั้นได้ คุณสามารถเพิ่มโปรเจ็กต์นี้เองเป็นการพึ่งพาของปลั๊กอินได้ (โดยใช้ส่วน <dependencies> ใต้โหนดปลั๊กอิน)

ตามบันทึกการวินิจฉัย คุณสามารถรัน maven ด้วยอาร์กิวเมนต์ '-X' เพื่อดูข้อมูลโดยละเอียดเกี่ยวกับบิลด์ นี่ควรแสดงให้คุณเห็นอย่างชัดเจนว่ามีอะไรอยู่บน classpath เมื่อมีการเรียกใช้งานปลั๊กอิน

person jtahlborn    schedule 10.07.2012