簡體   English   中英

如何使用Maven構建AspectJ項目?

[英]How to build aspectj project using maven?

我已經在Eclipse IDE中創建了一個Aspectj項目,但是我需要使用Maven來構建它。

我有maven-aspectj插件,但不知道如何使用它。

以下是我執行此步驟的步驟。 這給了我編譯時的編織 如果您需要其他策略,那么顯然您需要另一種方法(例如用於運行時AOP代理的Spring AOP )。

  1. 添加一個屬性以標准化您使用的AspectJ版本:

     <properties> <aspectj.version>1.7.2</aspectj.version> ... 
  2. 添加運行時依賴項:

     <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${aspectj.version}</version> </dependency> 
  3. 添加AspectJ Maven插件:

     <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>aspectj-maven-plugin</artifactId> <version>1.4</version> <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> <configuration> <source>1.7</source> <target>1.7</target> <forceAjcCompile>true</forceAjcCompile> </configuration> </plugin> 

我不確定forceAjcCompile是否真的有意義,但是我發現有些情況下各個方面的應用不一致。 我現在(現在)將其歸咎於Eclipse覆蓋類文件之類的東西,因此是forceAjcCompile

我做的其他事情:

  1. 添加src/main/aspects作為額外的源目錄( build-helper-maven-plugin插件)。 只是因為它在Eclipse中看起來不錯
  2. 為AspectJ插件( lifecycle-mapping插件 )添加pluginExecution / pluginExecutionFilter並將其設置為executerunOnIncremental ,以便在Eclipse中進行編碼和測試(使用m2e)時也可以(重新)應用方面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM