2015-11-16 12 views
9

मैं स्प्रिंग डेटा के साथ अपने मौजूदा प्रोजेक्ट में क्वेरीरीएसएल को एकीकृत करने की कोशिश कर रहा हूं, मैंने विभिन्न नमूनों की कोशिश की है और अब मैंने इस Advanced Spring Data JPA - Specifications and Querydsl पर चिपकने का फैसला किया है।स्प्रिंग डेटा जेपीए - विनिर्देशों और क्वेरीडल्स

समस्या:

<plugin> 
    <groupId>com.mysema.maven</groupId> 
    <artifactId>maven-apt-plugin</artifactId> 
    <version>1.0</version> 
    <executions> 
    <execution> 
     <phase>generate-sources</phase> 
     <goals> 
     <goal>process</goal> 
     </goals> 
     <configuration> 
     <outputDirectory>target/generated-sources</outputDirectory> 
     <processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 
: जब मैं Maven उत्पन्न-स्रोतों के रूप में प्रोजेक्ट को चलाने मैं यह त्रुटि

error: Annotation processor 'com.mysema.query.apt.jpa.JPAAnnotationProcessor' not found 

मैं ब्लॉग पोस्ट के रूप में मेरे pom.xml करने के लिए इस प्लगइन जोड़ रहा इंगित करता है मिल

और निर्भरता:

<dependency> 
    <groupId>com.mysema.querydsl</groupId> 
    <artifactId>querydsl-sql</artifactId> 
    <version>3.6.9</version> 
</dependency> 

कर सकते हैं किसी को भी बिंदु मुझे इस परियोजना को हल करने के लिए सही तरीके से या कैसे मेरी परियोजना में QueryDSL को एकीकृत करने के लिए सही दिशा में? अग्रिम में धन्यवाद!

+0

को बदला गया वर्शन के लिए प्लगइन Maven-apt-प्लगइन आप एक निर्भरता के रूप में 'querydsl-apt' है? –

+0

सुनिश्चित करें, मैं निर्भरता विवरण –

+1

के साथ पोस्ट अपडेट करूंगा, आपको 'querydsl-jpa'' querydsl-sql' –

उत्तर

20

तरह से मैं इस काम com.mysema.query .apt.jpa.JPAAnnotationProcessor की और इस प्रकार निर्भरता बदलकर com.querydsl .apt.jpa.JPAAnnotationProcessor उपयोग कर रहा था बजाय बना सकता है:

<dependency> 
    <groupId>com.querydsl</groupId> 
    <artifactId>querydsl-apt</artifactId> 
    <version>4.0.6</version> 
</dependency> 
<dependency> 
    <groupId>com.querydsl</groupId> 
    <artifactId>querydsl-jpa</artifactId> 
    <version>4.0.6</version> 
</dependency> 

प्लगइन इस तरह अंत:

<plugin> 
    <groupId>com.mysema.maven</groupId> 
    <artifactId>apt-maven-plugin</artifactId> 
    <version>1.1.3</version> 
    <executions> 
    <execution> 
     <phase>generate-sources</phase> 
     <goals> 
     <goal>process</goal> 
     </goals> 
     <configuration> 
     <outputDirectory>${project.build.directory}/generated-sources</outputDirectory> 
     <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

मैं भी परियोजनाओं पर कमांड लाइन में मार डाला जड़ mvn eclip से: ग्रहण उत्पन्न स्रोतों को शामिल करने के लिए ग्रहण को अद्यतन करने के लिए।

अद्यतन:

बदला apt-Maven-प्लगइन और 1.1.3

+0

आपके उदाहरण के लिए धन्यवाद, पूरी तरह से काम करता है । नोट: ** जैसे अपवाद से बचने के लिए "इकाई वर्ग लोड नहीं किया जा सका [...] NoClassDefFoundError: com/querydsl/core/type/dsl/EntityPathBase" **, यह रूट ** $ { project.build.directory}/जेनरेट-स्रोत ** और जेनरेट किए गए स्रोतों में उपनिर्देशिका नहीं है। – Chavjoh

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