2012-07-03 10 views
8

जावा 7 का उपयोग करने के लिए पहलू प्लगइन के लिए उपयुक्त कॉन्फ़िगरेशन/संस्करण/प्लगइन संस्करण क्या हैं?जावा 7 का उपयोग करने के लिए आप aspectj maven प्लगइन को कैसे कॉन्फ़िगर करते हैं?

मैं जावा 6 से जावा 7 में अपग्रेड करने की कोशिश कर रहा हूं, और पहलू संकलक जावा 7 को संकलित नहीं कर रहा है। मैं जावा स्रोत और लक्ष्य संस्करण को पहलू प्लगइन के लिए प्लगइन कॉन्फ़िगरेशन में 1.7 के रूप में निर्दिष्ट कर रहा हूं और इसके लिए मेवेन कंपाइलर प्लगइन। मैंने अपने कोड में जावा 7-विशिष्ट सिंटैक्स पेश किया, जिसमें स्विचिंग और डायमंड ऑपरेटर जैसे स्ट्रिंग जैसी कई भाषा सुविधाएं शामिल हैं। निर्माण के दौरान, मुझे Java7 वाक्यविन्यास के बारे में पहलू से त्रुटियां मिलती हैं। पहला संकेत है कि कोई बात बिगड़ जा रहे हैं:

[INFO] --- aspectj-maven-plugin:1.4:compile (default) @ site --- 
[ERROR] Cannot switch on a value of type String. Only int values or enum constants are permitted 
[ERROR] Cannot instantiate the type HashSet<?> 
[ERROR] Syntax error on token "<", ? expected after this token 

अगर मैं तो यह नहीं चलता है AspectJ Maven प्लगइन से फांसी खंड हटाने, और mvn स्वच्छ का उपयोग स्थापित करते हैं, नए कोड ठीक संकलित करता है। तो मुझे लगता है कि यह पहलू के साथ कुछ गलत कॉन्फ़िगर किया गया है। यहाँ मेरी प्लगइन विन्यास है:

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <java-version>1.7</java-version> 
    <org.aspectj-version>1.6.11</org.aspectj-version> 
</properties> 

     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>aspectj-maven-plugin</artifactId> 
      <version>1.4</version> 
      <dependencies> 
       <dependency> 
        <groupId>org.aspectj</groupId> 
        <artifactId>aspectjrt</artifactId> 
        <version>${org.aspectj-version}</version> 
       </dependency> 
       <dependency> 
        <groupId>org.aspectj</groupId> 
        <artifactId>aspectjtools</artifactId> 
        <version>${org.aspectj-version}</version> 
       </dependency> 
      </dependencies> 
      <executions> 
       <execution> 
        <goals> 
         <goal>compile</goal> 
         <goal>test-compile</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <complianceLevel>${java-version}</complianceLevel> 
       <encoding>${project.build.sourceEncoding}</encoding> 
       <outxml>true</outxml> 
       <source>${java-version}</source> 
       <target>${java-version}</target> 
      </configuration> 
     </plugin> 

इसके अलावा aspectjrt प्लगइन्स अनुभाग के बाहर एक निर्भरता के रूप में परिभाषित किया गया है

<dependencies> 
    <dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjrt</artifactId> 
     <version>${org.aspectj-version}</version> 
    </dependency> 
<dependencies> 

उत्तर

8

मैं, 1.7.0 के लिए 1.6.11 से अद्यतन जो के बाद से मैंने पूछा कि जारी की गई है यह प्रश्न। मेरे पास अब कोई पहलू/जावा 1.7 समस्या नहीं है, जिससे यह प्रश्न हल हो जाता है।

+0

एक सुविधा सुविधा भी है, उम्मीद है कि इसे जल्द ही तय किया जाएगा http://jira.codehaus.org/browse/MASPECTJ-108 – ozhan

+0

पहलू संस्करण? – pavan