2012-10-10 16 views
10

मैं संकलन के दौरान कोड का विश्लेषण करने के लिए जेएसआर 26 9 का उपयोग कर रहा हूं और यदि आवश्यक हो तो इसे विफल कर सकता हूं। मुझे मैवेन में अपने एनोटेशन प्रोसेसर के आउटपुट को प्रदर्शित करने में परेशानी हो रही है (चींटी आउटपुट दिखाती है) मैं javax.annotation.processing.Messager का उपयोग चेतावनी और त्रुटियों को प्रदर्शित करने के लिए कर रहा हूं, लेकिन मैवेन में मुझे इसका आउटपुट नहीं दिख रहा है । (मुझे पता है कि यह हालांकि चलता है, क्योंकि यह कोड उत्पन्न करता है जैसे)। कोई विचार?मैवेन में एनोटेशन प्रोसेसर आउटपुट

+0

प्रोसेसर आउटपुट संदेश कैसे करता है? आप इसे कैसे आमंत्रित करते हैं? –

+0

क्या आउटपुट दिखाता है यदि आप '-X' पैरामीटर के साथ मेवेन का आह्वान करते हैं? –

+0

@matt b मैं javax.annotation.processing.Messager को चेतावनी प्रदर्शित करने के लिए उपयोग कर रहा हूं: '_messager = processingEnv.getMessager();' @Jorn: मैं -X पैरामीटर का उपयोग नहीं करता, प्रोसेसर को सेवा प्रदाता के रूप में सूचीबद्ध किया गया है – iGili

उत्तर

12

मुझे लगता है कि आप एक Maven बग या संकलक प्लगइन में बेहतर एक बग में चल रहे हैं - MCOMPILER-66। जब एनोटेशन प्रोसेसिंग की बात आती है तो कंपाइलर प्लगइन में कई समस्याएं होती हैं, उदाहरण के लिए MCOMPILER-62। वास्तव में सबसे अच्छा विकल्प आईएमओ संकलक प्लगइन के लिए एनोटेशन प्रोसेसिंग को अक्षम करना है और maven-processor-plugin का उपयोग करना है। इस blog post में आप देख सकते हैं कि इसका उपयोग कैसे करें। ऐसा लगता है:

<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> 

ध्यान दें कि एनोटेशन प्रोसेसर निर्भरता केवल प्लगइन पर अच्छी तरह से स्कॉप्ड की गई है।