2012-07-03 33 views
8

Phiên bản cấu hình/phiên bản/plugin thích hợp cho plugin aspectj để sử dụng Java 7 là gì?Làm thế nào để bạn cấu hình plugin mj để sử dụng Java 7?

Tôi đang cố gắng nâng cấp từ Java 6 lên Java 7 và trình biên dịch có vẻ không biên dịch Java 7. Tôi chỉ rõ nguồn java và phiên bản đích là 1.7 trong cấu hình plugin cho plugin aspectj và cho plugin trình biên dịch maven. Tôi đã giới thiệu cú pháp Java7 cụ thể cho mã của tôi, thêm một số tính năng ngôn ngữ như chuỗi trong chuyển đổi và toán tử kim cương. Trong quá trình xây dựng, tôi gặp lỗi từ aspectj về cú pháp Java7. Dấu hiệu đầu tiên mà mọi thứ đang đi sai là:

[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 

Nếu tôi loại bỏ các phần hành từ plugin AspectJ maven vì vậy nó không chạy, và sử dụng mvn clean install, mã mới biên dịch tốt. Vì vậy, tôi nghĩ rằng đó là một cái gì đó misconfigured với aspectj. Dưới đây là cấu hình plugin của tôi:

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

Cũng aspectjrt được định nghĩa là một sự phụ thuộc bên ngoài của phần plugin

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

Trả lời

8

tôi cập nhật từ 1.6.11 đến 1.7.0, mà đã được phát hành kể từ khi tôi hỏi câu hỏi này. Tôi không còn có bất kỳ vấn đề nào về khía cạnh/Java1.7, để giải quyết câu hỏi này.

+0

Ngoài ra còn có một yêu cầu tính năng, hy vọng rằng nó sẽ được sửa chữa sớm http://jira.codehaus.org/browse/MASPECTJ-108 – ozhan

+0

phiên bản aspectj? – pavan

Các vấn đề liên quan