AspectJ编译时编织器看不到依赖关系

时间:2018-06-25 19:13:47

标签: maven aspectj-maven-plugin cucumber-serenity

我正在尝试在编译时将黄瓜宁静罐子编织到AspectJ中。

我正在使用aspectj-maven-plugin来尝试编织以下jar:

<weaveDependencies>
    <weaveDependency>
         <groupId>net.serenity-bdd</groupId>
         <artifactId>serenity-cucumber</artifactId>
    </weaveDependency>
    <weaveDependency>
         <groupId>net.serenity-bdd</groupId>
         <artifactId>serenity-core</artifactId>
    </weaveDependency>
</weaveDependencies>

但出现以下错误:

  

无法在项目帐户上执行目标org.codehaus.mojo:aspectj-maven-plugin:1.11:compile(默认)-cucumber-test:在aspectj插件中作为依赖项引用的工件net.serenity-bdd:serenity-cucumber和/或要编织的目录,未找到项目依赖项。

但是我列出了两个依赖项:

<dependency>
    <groupId>net.serenity-bdd</groupId>
    <artifactId>serenity-core</artifactId>
    <version>${serenity.version}</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>net.serenity-bdd</groupId>
    <artifactId>serenity-cucumber</artifactId>
    <version>${serenity.cucumber.version}</version>
    <scope>test</scope>

这是我的整个POM.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.test</groupId>
    <artifactId>accounts-cucumber-test</artifactId>
    <version>1.0.0-SNAPSHOT</version>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <serenity.version>1.8.19</serenity.version>
    <serenity.maven.version>1.8.20</serenity.maven.version>
    <serenity.cucumber.version>1.6.9</serenity.cucumber.version>
    <aspectj.version>1.9.1</aspectj.version>
    <tags></tags>
    <parallel.tests>4</parallel.tests>
    <webdriver.base.url></webdriver.base.url>
     <webdriver.driver>chrome</webdriver.driver>   
 <!--    <webdriver.driver>iexplorer</webdriver.driver> -->
</properties>

  <dependencies>
      <dependency>
          <groupId>org.aspectj</groupId>
          <artifactId>aspectjrt</artifactId>
      </dependency>         
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>${aspectj.version}</version>
        </dependency>   
        <dependency>
          <groupId>org.assertj</groupId>
          <artifactId>assertj-core</artifactId>
          <version>3.9.0</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.6</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.5</version>
        </dependency>
           <dependency>
               <groupId>net.serenity-bdd</groupId>
               <artifactId>serenity-core</artifactId>
               <version>${serenity.version}</version>
               <scope>test</scope>
           </dependency>
           <dependency>
               <groupId>net.serenity-bdd</groupId>
               <artifactId>serenity-junit</artifactId>
               <version>${serenity.version}</version>
               <scope>test</scope>
           </dependency>
           <dependency>
               <groupId>net.serenity-bdd</groupId>
               <artifactId>serenity-cucumber</artifactId>
               <version>${serenity.cucumber.version}</version>
               <scope>test</scope>
           </dependency>
           <dependency>
               <groupId>junit</groupId>
               <artifactId>junit</artifactId>
               <version>4.12</version>
               <scope>test</scope>
           </dependency>
           <dependency>
               <groupId>org.seleniumhq.selenium</groupId>
               <artifactId>selenium-java</artifactId>
               <scope>test</scope>
               <version>3.8.1</version>
           </dependency>
        <dependency>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>aspectj-maven-plugin</artifactId>
            <version>1.8</version>
        </dependency>             
           <dependency>
               <groupId>com.opera</groupId>
               <artifactId>operadriver</artifactId>
               <scope>test</scope>
               <version>1.5</version>
               <exclusions>
                   <exclusion>
                       <groupId>org.seleniumhq.selenium</groupId>
                       <artifactId>selenium-remote-driver</artifactId>
                   </exclusion>
               </exclusions>
           </dependency>    
  </dependencies>

   <dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${aspectj.version}</version>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
</dependencyManagement>


<build>
    <pluginManagement>
        <plugins>
             <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>aspectj-maven-plugin</artifactId>
                <version>1.11</version>
                <configuration>
                  <target>1.8</target>
                  <source>1.8</source>
                  <weaveDependencies>
                    <weaveDependency>
                      <groupId>net.serenity-bdd</groupId>
                      <artifactId>serenity-cucumber</artifactId>
                    </weaveDependency>
                    <weaveDependency>
                        <groupId>net.serenity-bdd</groupId>
                        <artifactId>serenity-core</artifactId>
                    </weaveDependency>
                  </weaveDependencies>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                        <configuration>
                            <complianceLevel>1.8</complianceLevel>
                        </configuration>
                    </execution>
                </executions>
              </plugin>
            <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>
                                        org.codehaus.mojo
                                    </groupId>
                                    <artifactId>
                                        aspectj-maven-plugin
                                    </artifactId>
                                    <versionRange>
                                        [1.8,)
                                    </versionRange>
                                    <goals>
                                        <goal>compile</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                     <execute/>
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
    <plugins>
         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>aspectj-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.20</version>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.20</version>
            <configuration>
                <includes>
                    <include>**/*Test.java</include>
                    <include>**/Test*.java</include>
                    <include>**/*TestSuite.java</include>
                    <include>**/When*.java</include>
                </includes>
                <systemPropertyVariables>
                    <webdriver.base.url>${webdriver.base.url}</webdriver.base.url>
                    <webdriver.driver>${webdriver.driver}</webdriver.driver>
                </systemPropertyVariables>
                <parallel>classes</parallel>
                <threadCount>${parallel.tests}</threadCount>
                <forkCount>${parallel.tests}</forkCount>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>net.serenity-bdd.maven.plugins</groupId>
            <artifactId>serenity-maven-plugin</artifactId>
            <version>${serenity.maven.version}</version>
            <configuration>
                <tags>${tags}</tags>
            </configuration>
            <executions>
                <execution>
                    <id>serenity-reports</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>aggregate</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>     

0 个答案:

没有答案