Maven

2015-08-04 10 views
7

साथ lombok और JPAMetalModel प्रोसेसर cohexist कैसे कैसे Lombok उपयोग करने के लिए जब JPAMetaModelEntityProcessor एनोटेशन प्रोसेसर Maven निर्माण में सक्रिय है।Maven

Maven config:

[...] 
<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <compilerArguments> 
        <processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor> 
       </compilerArguments> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
<dependencies> 
    <dependency> 
     <groupId>org.projectlombok</groupId> 
     <artifactId>lombok</artifactId> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate.javax.persistence</groupId> 
     <artifactId>hibernate-jpa-2.0-api</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-jpamodelgen</artifactId> 
     <scope>provided</scope> 
    </dependency> 
</dependencies> 
[...] 

निर्माण प्रक्रिया के दौरान (mvn साफ स्थापित), मेटामॉडल वस्तुओं को सही ढंग से उत्पन्न कर रहे हैं, लेकिन यह लंबोक एनोटेशन प्रोसेसर javac संकलन में अब नहीं जोड़ा गया है लगता है। सभी @ गेटटर, @ सेटर, ... काम नहीं करता है।

+0

जावा का कौन सा संस्करण उपयोग कर रहे हैं? जहां तक ​​मुझे पता है, Lombok जावा 8 के साथ काम करने में समस्या है। –

उत्तर

12

लोम्बोक प्रोजेक्ट में देखने के बाद मुझे एक समाधान मिला।

जब जेएपीएटीएडेलएन्टिटी प्रोसेसर को जैवैक एनोटेशन प्रोसेसर के रूप में निर्दिष्ट करते हैं, तो लोम्बोक प्रोसेसर को हटाया जाता है।

इसे ठीक करने के, हम बस Maven-संकलक प्लगइन में लंबोक एनोटेशन प्रोसेसर जोड़ सकते हैं:

[...] 
<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
     <compilerArguments> 
      <processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor,lombok.launch.AnnotationProcessorHider$AnnotationProcessor</processor> 
     </compilerArguments> 
    </configuration> 
</plugin> 
[...] 

 संबंधित मुद्दे