2012-01-03 4 views
19

현재 Java 6 및 컴파일 시간 짜기와 함께 작동하는 프로젝트가 있습니다. 나는 다양한 구성을 시도했지만 누군가가 작업 치어를 공유하거나지도 할 수 있다면이 자바 7 와 함께 작동 할 수 없습니다Java 7 및 Maven을 사용하여 aspectj 컴파일 시간을 길들이는 방법

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

: 우리는 봄 측면과 우리 자신의 사람을 사용하려면 다음 치어를 사용 잘 될 것입니다.

+0

입니다 증상은 무엇입니까? –

+1

aspectjtools 버전 1.7.0.M1로 이동 한 후 작동 시작 –

답변

29

aspectjtools의 1.7.0 버전으로 이동 한 후 제대로 작동합니다. 또한 컴파일러에 -1.7이라는 버전 매개 변수를 전달해야합니다 (target 매개 변수를 사용하면 문제가 발생 함). 누군가 자세한 설명이 필요하면 의견을 남기고 자세한 구성 정보를 추가하겠습니다.
당신은 여기에서 작업 예제를 수행 할 수 있습니다 Spring, AspectJ and Maven example 여기
은 (= "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

pom.xml을 게시 할 수 있습니까? 내가 깨끗한 빌드를 할 때 1.7에서 org.aspectj.weaver.BCException : 형식이 잘못된 org.aspectj.weaver.Declare 특성 (길이 : 45) org.aspectj.weaver.BCException : 형식 서명이 잘못되었습니다. 하지만 mvn을 두 번 컴파일하면 mvn이 빌드되지만 나중에 향상된 기능은 "분기 타겟에서 스택 맵 프레임 기대"를 제공합니다. 나는 아직도 그것을 조사하고있다. – Cojones

+0

방금 ​​새로 발표 된 aspectj 1.7.0과 java 1.7로 옮겼습니다. 또한 "분기 타겟에서 스택 맵 프레임 기대"에 대한 오류가 나타납니다. 이 문제를 해결 했습니까? – Jay

+0

올바른 aspectj 및 컴파일러 버전을 지정 했습니까? 나는 매일 그것을 사용하고 멋지게 작동합니다. 폼의 어느 부분을 필요로합니까 (누락 된 부분을 추가 할 것입니까?)? –

관련 문제