2011-09-09 2 views
13

मैं एक मेवेन प्रोजेक्ट में aspectj-maven-plugin का उपयोग करने का प्रयास कर रहा हूं। संकलन समय में, मैं मिलता है:सिंटेक्स त्रुटि, एनोटेशन केवल तभी उपलब्ध हैं जब स्रोत स्तर 5.0 है - मेवेन में AspectJ

<dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjrt</artifactId> 
     <version>1.6.11</version> 
    </dependency> 

    <dependency> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>aspectj-maven-plugin</artifactId> 
     <version>1.4</version> 
    </dependency> 

मैं कैसे हल करते हैं:

<project.build.source>1.6</project.build.source> 
<project.build.target>1.6</project.build.target> 

मैं करने के लिए कुछ निर्भरता है:

Syntax error, annotations are only available if source level is 5.0 
Syntax error, annotations are only available if source level is 5.0 
Syntax error, annotations are only available if source level is 5.0 

फिर भी, मैं अपने pom.xml में निम्नलिखित सेट इस मुद्दे? धन्यवाद।

समाधान

मैं अपने pom.xml में निम्नलिखित जोड़ा गया है और अब यह काम करता है:

 <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>aspectj-maven-plugin</artifactId> 
      <version>1.4</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>compile</goal> 
         <goal>test-compile</goal> 
        </goals> 
        <configuration> 
         <source>${project.build.source}</source> <- Addition 
         <target>${project.build.target}</target> <- Addition 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
+0

@ पॉल नहीं मैंने नहीं किया। अब यह काम कर रहा है। यदि आप समाधान बनाते हैं, तो मैं इसे स्वीकार करूंगा। धन्यवाद। – JVerstry

+0

निश्चित रूप से, करेंगे। चीयर्स। –

+0

इसके अलावा, मुझे अनुपालन लेवल कॉन्फ़िगरेशन तर्क के अतिरिक्त भी आवश्यक है। यहां और देखें: http://stackoverflow.com/questions/21548548/adding-aspectj-to-pom-xml-changed-java-version-with-maven- क्यों – JoshC13

उत्तर

7

आप स्पष्टीकरण पहलू प्लगइन के स्रोत पैरामीटर सेट कर सकते हैं। डॉक्स here

3

चेक इस page और मुझे लगता है कि उदाहरण में एक "complianceLevel" विन्यास संपत्ति देखते हैं; 1.5 या 1.6 तक यह सेटिंग चाल चल सकती है (क्योंकि उनके पास न्यूनतम 1.4 है, मुझे लगता है कि यह डिफ़ॉल्ट है)।

4

मैं जोड़कर इस मुद्दे को हल करने के लिए अपने पोम के लिए निम्न में सक्षम था:

<properties> 
<project.build.java.target>1.6</project.build.java.target> 
</properties> 

this पद से इस खोजने के लिए सक्षम था।

+0

यह केवल यही है जो मेरे लिए काम करता है। – CorayThan