2012-01-03 40 views
19

Tôi có một dự án hiện đang làm việc với java 6 và biên dịch thời gian dệt. Chúng tôi sử dụng pom sau để kích hoạt các khía cạnh mùa xuân và những cái riêng của chúng tôi:Làm thế nào để cho phép biên dịch thời gian biên dịch với Java 7 và maven

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>aspectj-maven-plugin</artifactId> 
    <version>1.4</version> 
     <configuration> 
     <showWeaveInfo>true</showWeaveInfo> 
     <source>1.6</source> 
     <target>1.6</target> 
     <Xlint>ignore</Xlint> 
     <complianceLevel>1.6</complianceLevel> 
     <encoding>UTF-8</encoding> 
     <verbose>false</verbose> 
     <aspectLibraries> 
      <aspectLibrary> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-aspects</artifactId> 
      </aspectLibrary> 
     </aspectLibraries> 
     </configuration> 
     <executions> 
     <execution> 
      <goals> 
      <goal>compile</goal> 
      <goal>test-compile</goal> 
      </goals> 
     </execution> 
     </executions> 
    </plugin> 

Tôi đã thử cấu hình khác nhau, nhưng không thể làm cho nó làm việc với java 7. Nếu ai đó có thể chia sẻ một pom làm việc hoặc dẫn nó sẽ rất tuyệt.

+0

Các triệu chứng như thế nào? –

+1

Sau khi chuyển sang phiên bản 1.7.0.M1 của các khung công tác, nó bắt đầu hoạt động –

Trả lời

29

Sau khi chuyển sang phiên bản 1.7.0 của các khung công tác, nó hoạt động tốt. Ngoài ra, bạn cần phải vượt qua trình biên dịch tham số phiên bản là -1.7 (sử dụng thông số target gây ra sự cố). Nếu ai đó cần thêm chi tiết để lại nhận xét và tôi sẽ thêm thông tin cụ thể về cấu hình.
Bạn có thể lấy một ví dụ làm việc kể từ đây: Spring, AspectJ and Maven example
Dưới đây là định nghĩa Plugin làm việc kể từ pom (biên dịch-version = "1.7", aspectj.version = "1.7.0")

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>aspectj-maven-plugin</artifactId> 
    <version>1.4</version> 
    <configuration> 
     <showWeaveInfo>true</showWeaveInfo> 
     <source>${compiler.version}</source> 
     <target>${compiler.version}</target> 
     <Xlint>ignore</Xlint> 
     <complianceLevel>${compiler.version}</complianceLevel> 
     <encoding>UTF-8</encoding> 
     <verbose>false</verbose> 
     <aspectLibraries> 
      <aspectLibrary> 
       <groupId>org.springframework</groupId> 
       <artifactId>spring-aspects</artifactId> 
      </aspectLibrary> 
     </aspectLibraries> 
    </configuration> 
    <executions> 
     <execution> 
      <goals> 
       <goal>compile</goal> 
       <goal>test-compile</goal> 
      </goals> 
     </execution> 
    </executions> 
    <dependencies> 
     <dependency> 
      <groupId>org.aspectj</groupId> 
      <artifactId>aspectjrt</artifactId> 
      <version>${aspectj.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.aspectj</groupId> 
      <artifactId>aspectjtools</artifactId> 
      <version>${aspectj.version}</version> 
     </dependency> 
    </dependencies> 
</plugin> 
+0

Bạn có thể đăng tệp pom.xml của mình không? Tại 1,7 khi tôi làm một xây dựng sạch tôi nhận được: org.aspectj.weaver.BCException: malformed org.aspectj.weaver.Declare thuộc tính (length: 45) org.aspectj.weaver.BCException: Bad type signature. Nhưng nếu tôi gọi mvn biên dịch một lần thứ hai, nó xây dựng, nhưng sau này cải tiến cho một "Mong đợi một khung stackmap tại mục tiêu chi nhánh". Tôi vẫn đang xem xét điều đó. – Cojones

+0

Tôi vừa chuyển sang khía cạnh mới được phát hành là 1.7.0 và java 1.7, đồng thời cũng nhận được lỗi về "Mong đợi khung stackmap ở mục tiêu chi nhánh". Bạn đã bao giờ giải quyết vấn đề này? – Jay

+0

Bạn có chỉ định đúng các phiên bản trình biên dịch và biên dịch không? Tôi sử dụng nó hàng ngày và nó hoạt động rất tốt. Bạn cần phần nào của pom (tôi sẽ thêm các phần còn thiếu)? –

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