2012-10-10 14 views
10

JSR 269'u derleme sırasında kod çözümleme ve gerektiğinde hata iletme yolu olarak kullanıyorum. Notlama işlemcimin çıktısını maven'de görüntülemekte sıkıntı yaşıyorum (Ant, çıkışı gösteriyor) javax.annotation.processing.Messager kullanıyorum uyarıları ve hataları görüntülemek için kullanıyorum ama maven'de çıktı görmüyorum . (Biliyorum, ancak çalışır, çünkü olması gerektiği gibi kod üretir). Herhangi bir fikrin var mı?maven'de ek not işlemcisi çıkışı

+0

İşlemci çıkış mesajları nasıl? Nasıl çağırıyorsun? –

+0

Maven'i -X' parametresiyle çağırırsanız çıktı gösteriliyor mu? –

+0

@matt b Uyarıları görüntülemek için javax.annotation.processing.Messager kullanıyorum: '_messager = processingEnv.getMessager();' @Jorn: -X parametresini kullanmıyorum, işlemci servis sağlayıcı olarak listeleniyor – iGili

cevap

12

Sanırım bir Maven hatası veya daha iyi bir derleyici eklentisi - MCOMPILER-66. Bilgi notu işleme söz konusu olduğunda, derleyici eklentisinin çeşitli problemleri vardır, örneğin MCOMPILER-62. Gerçekten en iyi seçenek imo, derleyici eklentisi için ek açıklama işlemini devre dışı bırakmak ve maven-processor-plugin'u kullanmaktır. Bu blog post'da nasıl kullanılacağını görebilirsiniz. Bu şuna benzer:

<plugins> 
    <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <configuration> 
      <source>1.6</source> 
      <target>1.6</target> 
      <compilerArgument>-proc:none</compilerArgument> 
     </configuration> 
    </plugin> 
    <plugin> 
     <groupId>org.bsc.maven</groupId> 
     <artifactId>maven-processor-plugin</artifactId> 
     <version>1.3.7</version> 
     <executions> 
      <execution> 
       <id>process</id> 
       <goals> 
        <goal>process</goal> 
       </goals> 
       <phase>process-sources</phase> 
      </execution> 
     </executions> 
     <dependencies> 
      <dependency> 
       <groupId>org.hibernate</groupId> 
       <artifactId>hibernate-jpamodelgen</artifactId> 
       <version>1.1.0.Final</version> 
       <scope>compile</scope> 
      </dependency> 
     </dependencies> 
    </plugin> 

Not ayrıca ek açıklama işlemci bağımlılık ne kadar güzel eklenti sadece kapsamına sahiptir.