2016-03-02 24 views
5

Tôi đang sử dụng cố gắng sử dụng AspectJ với Intellij. Tôi đã bật các plugin Aspectj trong intellij, Spring AOP/@AspectjSupport Aspectj và tôi đã đặt trình biên dịch ajc trong Setting -> java compiler -> ajc.IDEA không thể tìm thấy trình biên dịch AspectJ .jar trong số các phụ thuộc plugin

Tôi nhận được thông báo lỗi này.

AspectJ Support 
IDEA was unable to find AspectJ compiler .jar among plugin dependencies. 
Please fix <aspectj-maven-plugin> in '/home/manoj/stuff/moghul/Git_backend/dropwizard/pom.xml' and re-import a project,or set compiler manually via Settings | Compiler | Java Compiler. 

Đây là pom.xml của tôi

<dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>io.dropwizard.metrics</groupId> 
     <artifactId>metrics-core</artifactId> 
     <version>3.1.0</version> 
    </dependency> 
    <dependency> 
     <groupId>io.dropwizard.metrics</groupId> 
     <artifactId>metrics-graphite</artifactId> 
     <version>3.1.2</version> 
    </dependency> 
    <dependency> 
     <groupId>io.dropwizard.metrics</groupId> 
     <artifactId>metrics-annotation</artifactId> 
     <version>3.1.2</version> 
    </dependency> 
    <dependency> 
     <groupId>io.astefanutti.metrics.aspectj</groupId> 
     <artifactId>metrics-aspectj</artifactId> 
     <version>1.1.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjrt</artifactId> 
     <version>1.6.9</version> 
    </dependency> 
    <dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjtools</artifactId> 
     <version>1.6.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjweaver</artifactId> 
     <version>1.8.8</version> 
    </dependency> 
    <dependency> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>aspectj-maven-plugin</artifactId> 
     <version>1.8</version> 
    </dependency> 
    </dependencies> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>aspectj-maven-plugin</artifactId> 
     <configuration> 
      <aspectLibraries> 
      <aspectLibrary> 
       <groupId>io.astefanutti.metrics.aspectj</groupId> 
       <artifactId>metrics-aspectj</artifactId> 
      </aspectLibrary> 
      </aspectLibraries> 
     </configuration> 
     <executions> 
      <execution> 
      <goals> 
       <goal>compile</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
+0

theo như tôi nhớ IntelliJ sẽ phát hiện aspectJ khi tìm thấy aspectjtools trong pom. Có thể thử phiên bản 1.6.9? Và sau đó nhập lại dự án. Tôi cũng cho rằng phụ thuộc vào aspectj-maven-plugin là sai. Các trình cắm thêm Maven không phụ thuộc được sử dụng theo cách đó - tiền phạt của nó trong phần bổ trợ. – wemu

Trả lời

1

Có lẽ nó làm cho tinh thần cũng sử dụng một phiên bản plugin. Tôi không thể thấy bất kỳ điều gì trong POM của bạn. Hay bạn định nghĩa một phần trong phần pluginManagement? Chỉ cần sửa POM và IntelliJ IDEA của bạn sẽ hoạt động.

Bằng cách này:

  • Bạn sử dụng một phiên bản AspectJ rất cũ. Tại sao? Sử dụng phiên bản hiện tại, kể từ hôm nay 1.8.8.
  • Sự phụ thuộc duy nhất bạn cần khai báo cho thời gian biên dịch AspectJ là aspectjrt. Nếu bạn muốn plugin AspectJ Maven nâng cấp phiên bản AspectJ của nó, hãy xác định sự phụ thuộc của plugin trên phiên bản mong muốn của aspectjtools, không phụ thuộc vào mô-đun.

Hãy đặt câu hỏi tiếp theo nếu bạn không hiểu đầy đủ câu trả lời này.

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