2016-05-18 74 views
-1

這裏是java的8我的AspectJ Maven插件的配置:AspectJ的Maven插件能夠運行時編織方面,但不是編譯時

<plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>aspectj-maven-plugin</artifactId> 
     <version>1.8</version> 
     <configuration> 
       <showWeaveInfo>true</showWeaveInfo> 
       <source>1.8</source> 
       <target>1.8</target> 
       <Xlint>ignore</Xlint> 
       <complianceLevel>1.8</complianceLevel> 
       <encoding>UTF-8</encoding> 
       <verbose>false</verbose> 
       <aspectLibraries> 
        <aspectLibrary> 
         <groupId>external project containing aspects</groupId> 
         <artifactId>external project containing 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>aspectjtools</artifactId> 
      <version>1.8.7</version> 
     </dependency> 
     </dependencies> 
    </plugin> 

當我添加一個萬無一失的插件像下面,我能編制加載時間方面的內容。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <configuration> 
<argLine>javaagent:${user.home}/.m2/repository/org/aspectj/aspectjweaver/1.8.7/aspectjweaver-1.8.7.jar</argLine> 
    </configuration> 
</plugin> 

爲了確保我的方面被擊中,我在其中添加了println語句。但是當試圖編譯時織入時,它們並沒有在控制檯上顯示出來。請幫幫我。我不知道我在配置中缺少什麼。無法弄清楚爲什麼這些方面沒有受到打擊。

回答

0

配置沒有問題。問題是,我的方面被定義爲抽象,並在aop.xml文件中具體實現。這就是編譯時未加載的原因。所以我讓他們具體的方面,它的工作。

相關問題