2017-03-24 105 views
0

我試圖第一次創建一個maven插件。 除了測試部分之外,一切都運行到現在。 我想在開始編寫插件本身之前編寫一些測試用例。 到目前爲止,我已經遇到了很多麻煩,能夠簡單地運行一個甚至不做任何事情的測試用例。Maven插件AbstractMojoTestCase PlexusContainerException

我想我錯過了依賴關係或者我使用的是兼容版本。我對這些版本感到茫然,例外情況也發生了很大變化。但是這個不斷回來。

所以,當我跑mvn test我從控制檯以下響應:

λ mvn test 
[INFO] Scanning for projects... 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Simple Web Share Plugin 1.2.9-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ sws-maven-plugin --- 
[INFO] Using '' encoding to copy filtered resources. 
[INFO] skip non existing resourceDirectory maven-sws-plugin\src\main\resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.2:compile (default-compile) @ sws-maven-plugin --- 
[INFO] Changes detected - recompiling the module! 
[INFO] Compiling 4 source files to maven-sws-plugin\target\classes 
[INFO] 
[INFO] --- maven-plugin-plugin:3.2:descriptor (default-descriptor) @ sws-maven-plugin --- 
[INFO] Using '' encoding to read mojo metadata. 
[INFO] Applying mojo extractor for language: java 
[INFO] Mojo extractor for language: java found 0 mojo descriptors. 
[INFO] Applying mojo extractor for language: bsh 
[INFO] Mojo extractor for language: bsh found 0 mojo descriptors. 
[INFO] Applying mojo extractor for language: java-annotations 
[INFO] Mojo extractor for language: java-annotations found 1 mojo descriptors. 
[INFO] 
[INFO] --- maven-plugin-plugin:3.2:descriptor (mojo-descriptor) @ sws-maven-plugin --- 
[INFO] Using '' encoding to read mojo metadata. 
[INFO] Applying mojo extractor for language: java 
[INFO] Mojo extractor for language: java found 0 mojo descriptors. 
[INFO] Applying mojo extractor for language: bsh 
[INFO] Mojo extractor for language: bsh found 0 mojo descriptors. 
[INFO] Applying mojo extractor for language: java-annotations 
[INFO] Mojo extractor for language: java-annotations found 1 mojo descriptors. 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ sws-maven-plugin --- 
[INFO] Using '' encoding to copy filtered resources. 
[INFO] Copying 1 resource 
[INFO] 
[INFO] --- maven-compiler-plugin:3.2:testCompile (default-testCompile) @ sws-maven-plugin --- 
[INFO] Nothing to compile - all classes are up to date 
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ sws-maven-plugin --- 
[INFO] Surefire report directory: maven-sws-plugin\target\surefire-reports 

------------------------------------------------------- 
T E S T S 
------------------------------------------------------- 
Running plugins.MojoTest 
org.codehaus.plexus.PlexusContainerException: Cycle detected in component graph in the system: 
     at org.codehaus.plexus.DefaultPlexusContainer.initialize(DefaultPlexusContainer.java:624) 
     at org.codehaus.plexus.DefaultPlexusContainer.construct(DefaultPlexusContainer.java:281) 
     at org.codehaus.plexus.DefaultPlexusContainer.<init>(DefaultPlexusContainer.java:172) 
     at org.apache.maven.plugin.testing.AbstractMojoTestCase.setupContainer(AbstractMojoTestCase.java:159) 
     at org.apache.maven.plugin.testing.AbstractMojoTestCase.getContainer(AbstractMojoTestCase.java:179) 
     at org.apache.maven.plugin.testing.AbstractMojoTestCase.setUp(AbstractMojoTestCase.java:107) 
     at nl.ciber.maven.plugins.MojoTest.setUp(MojoTest.java:11) 
     at junit.framework.TestCase.runBare(TestCase.java:125) 
     at junit.framework.TestResult$1.protect(TestResult.java:106) 
     at junit.framework.TestResult.runProtected(TestResult.java:124) 
     at junit.framework.TestResult.run(TestResult.java:109) 
     at junit.framework.TestCase.run(TestCase.java:118) 
     at junit.framework.TestSuite.runTest(TestSuite.java:208) 
     at junit.framework.TestSuite.run(TestSuite.java:203) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:95) 
     at org.apache.maven.surefire.junit.JUnit3Provider.executeTestSet(JUnit3Provider.java:121) 
     at org.apache.maven.surefire.junit.JUnit3Provider.invoke(JUnit3Provider.java:98) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) 
     at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) 
     at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) 
     at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115) 
     at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75) 
Caused by: org.codehaus.plexus.component.composition.CycleDetectedInComponentGraphException: Cyclic requirement detected 
     at org.codehaus.plexus.component.composition.DefaultCompositionResolver.addComponentDescriptor(DefaultCompositionResolver.java:65) 
     at org.codehaus.plexus.component.repository.DefaultComponentRepository.addComponentDescriptor(DefaultComponentRepository.java:229) 
     at org.codehaus.plexus.DefaultComponentRegistry.addComponentDescriptor(DefaultComponentRegistry.java:126) 
     at org.codehaus.plexus.DefaultPlexusContainer.addComponentDescriptor(DefaultPlexusContainer.java:514) 
     at org.codehaus.plexus.DefaultPlexusContainer.discoverComponents(DefaultPlexusContainer.java:969) 
     at org.codehaus.plexus.DefaultPlexusContainer.discoverComponents(DefaultPlexusContainer.java:941) 
     at org.codehaus.plexus.DefaultPlexusContainer.initialize(DefaultPlexusContainer.java:560) 
     ... 29 more 
Caused by: org.codehaus.plexus.util.dag.CycleDetectedException: Edge between 'Vertex{label='org.apache.maven.plugin.version.PluginVersionResolver:default'}' and 'Vertex{label='org.apache.maven.plugin.MavenPluginManager:default'}' introduces to cycle in the graph org.apache.maven.plugin.MavenPluginManager:default --> org.apache.maven.plugin.version.PluginVersionResolver:default --> org.apache.maven.plugin.MavenPluginManager:default 
     at org.codehaus.plexus.util.dag.DAG.addEdge(DAG.java:143) 
     at org.codehaus.plexus.util.dag.DAG.addEdge(DAG.java:123) 
     at org.codehaus.plexus.component.composition.DefaultCompositionResolver.addComponentDescriptor(DefaultCompositionResolver.java:60) 
     ... 35 more 
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.726 sec <<< FAILURE! 
testFilePath(***.maven.plugins.MojoTest) Time elapsed: 0.686 sec <<< FAILURE! 
junit.framework.AssertionFailedError: Failed to create plexus container. 
     at junit.framework.Assert.fail(Assert.java:47) 
     at org.apache.maven.plugin.testing.AbstractMojoTestCase.setupContainer(AbstractMojoTestCase.java:164) 
     at org.apache.maven.plugin.testing.AbstractMojoTestCase.getContainer(AbstractMojoTestCase.java:179) 
     at org.apache.maven.plugin.testing.AbstractMojoTestCase.setUp(AbstractMojoTestCase.java:107) 
     at ***.maven.plugins.MojoTest.setUp(MojoTest.java:11) 
     at junit.framework.TestCase.runBare(TestCase.java:125) 
     at junit.framework.TestResult$1.protect(TestResult.java:106) 
     at junit.framework.TestResult.runProtected(TestResult.java:124) 
     at junit.framework.TestResult.run(TestResult.java:109) 
     at junit.framework.TestCase.run(TestCase.java:118) 
     at junit.framework.TestSuite.runTest(TestSuite.java:208) 
     at junit.framework.TestSuite.run(TestSuite.java:203) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:95) 
     at org.apache.maven.surefire.junit.JUnit3Provider.executeTestSet(JUnit3Provider.java:121) 
     at org.apache.maven.surefire.junit.JUnit3Provider.invoke(JUnit3Provider.java:98) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) 
     at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) 
     at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) 
     at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115) 
     at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75) 


Results : 

Failed tests: testFilePath(***.maven.plugins.MojoTest): Failed to create plexus container. 

Tests run: 1, Failures: 1, Errors: 0, Skipped: 0 

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 13.595 s 
[INFO] Finished at: 2017-03-24T10:35:35+01:00 
[INFO] Final Memory: 32M/497M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project sws-maven-plugin: There are test failures. 
[ERROR] 
[ERROR] Please refer to maven-sws-plugin\target\surefire-reports for the individual test results. 
[ERROR] -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 

我的pom.xml(我加的proberally不是需要什麼樣的幾件事情,我GOOGLE了很多,現在沒有什麼工作,直到):

<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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>***.maven.plugins</groupId> 
    <artifactId>sws-maven-plugin</artifactId> 
    <packaging>jar</packaging> 
    <version>1.9.2-SNAPSHOT</version> 
    <name>reminder-maven-plugin Maven Mojo</name> 
    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>***.maven.plugins</groupId> 
       <artifactId>sws-maven-plugin</artifactId> 
       <configuration> 
       </configuration> 
       <executions> 
        <execution> 
         <goals> 
          <goal>test</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

維護設備:

<?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>***.maven.plugin.sws</groupId> 
    <artifactId>sws-maven-plugin</artifactId> 
    <packaging>maven-plugin</packaging> 
    <version>1.2.9-SNAPSHOT</version> 
    <name>Simple Web Share Plugin</name> 
    <properties> 
     <project.build.sourceEncoding>Cp1252</project.build.sourceEncoding> 
     <maven.version>3.5.0-alpha-1</maven.version> 
    </properties> 
    <repositories> 
     <repository> 
      <id>mavencentral</id> 
      <name>Maven Central</name> 
      <url>https://repo1.maven.org/maven2/</url> 
      <layout>default</layout> 
     </repository> 
    </repositories> 
    <reporting> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-plugin-plugin</artifactId> 
       <version>3.4</version> 
      </plugin> 
     </plugins> 
    </reporting> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.2</version> 
       <configuration> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-plugin-plugin</artifactId> 
       <version>3.2</version> 
       <executions> 
        <execution> 
         <id>mojo-descriptor</id> 
         <goals> 
          <goal>descriptor</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound> 
       </configuration> 
      </plugin> 
     </plugins> 

     <directory>${project.basedir}/target</directory> 
     <outputDirectory>${project.build.directory}/classes</outputDirectory> 
     <finalName>${project.artifactId}-${project.version}</finalName> 
     <testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory> 
     <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory> 
     <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory> 
     <resources> 
      <resource> 
       <directory>${project.basedir}/src/main/resources</directory> 
      </resource> 
     </resources> 
     <testResources> 
      <testResource> 
       <directory>${project.basedir}/src/test/resources</directory> 
      </testResource> 
     </testResources> 

    </build> 
    <dependencies> 
     <dependency> 
      <groupId>org.fusesource.fabric</groupId> 
      <artifactId>fabric-maven-proxy</artifactId> 
      <version>7.0.1.fuse-084</version> 
     </dependency> 
     <dependency> 
      <groupId>***.webshare</groupId> 
      <artifactId>simple-web-share-api</artifactId> 
      <version>0.4</version> 
     </dependency> 
     <dependency> 
      <groupId>org.eclipse.aether</groupId> 
      <artifactId>aether-api</artifactId> 
      <version>1.1.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.maven</groupId> 
      <artifactId>maven-plugin-api</artifactId> 
      <version>${maven.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.maven</groupId> 
      <artifactId>maven-settings</artifactId> 
      <version>${maven.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>jdom</groupId> 
      <artifactId>jdom</artifactId> 
      <version>1.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-dependency-plugin</artifactId> 
      <version>3.0.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-lang3</artifactId> 
      <version>3.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.codehaus.plexus</groupId> 
      <artifactId>plexus-utils</artifactId> 
      <version>3.0.8</version> 
     </dependency> 
     <dependency> 
      <groupId>org.codehaus.plexus</groupId> 
      <artifactId>plexus-container-default</artifactId> 
      <!--<version>1.5.5</version>--> 
      <version>1.7.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.maven</groupId> 
      <artifactId>maven-artifact</artifactId> 
      <version>${maven.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.maven</groupId> 
      <artifactId>maven-compat</artifactId> 
      <version>3.3.9</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>commons-io</groupId> 
      <artifactId>commons-io</artifactId> 
      <version>2.4</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.maven.plugin-testing</groupId> 
      <artifactId>maven-plugin-testing-harness</artifactId> 
      <version>2.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.maven</groupId> 
      <artifactId>maven-core</artifactId> 
      <version>3.5.0-alpha-1</version> 
     </dependency> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.maven.plugin-tools</groupId> 
      <artifactId>maven-plugin-annotations</artifactId> 
      <version>3.2</version> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 
</project> 

我的測試POM tCase:

package ***.maven.plugins; 

import org.apache.maven.plugin.testing.AbstractMojoTestCase; 

/** 
* Created by casper.hollemans on 20-3-2017. 
*/ 
public class MojoTest extends AbstractMojoTestCase { 

    public void setUp() throws Exception { 
     super.setUp(); 
    } 

    public void tearDown() throws Exception { 
     super.tearDown(); 
    } 

    public void testFilePath() throws Exception { 



    } 

} 

回答

0

所以在掙扎了一會之後,我已經能夠修復異常。 我的POM的主要問題是增長有點大,充滿了不必要的依賴關係。我查看了maven clean插件的git,並將我的pom與clean插件的pom進行了比較。正如我所料,主要問題是;我使用了錯誤的版本。我會在這裏發佈當前的pom,並鏈接到maven插件的git。

我POM:

<?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>***.maven.plugin.sws</groupId> 
    <artifactId>sws-maven-plugin</artifactId> 
    <packaging>maven-plugin</packaging> 
    <version>1.2.9-SNAPSHOT</version> 
    <name>Simple Web Share Plugin</name> 
    <properties> 
     <project.build.sourceEncoding>****</project.build.sourceEncoding> 
     <maven.version>3.0</maven.version> 
    </properties> 
    <reporting> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-plugin-plugin</artifactId> 
       <version>3.4</version> 
      </plugin> 
     </plugins> 
    </reporting> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.2</version> 
       <configuration> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-plugin-plugin</artifactId> 
       <version>3.2</version> 
       <executions> 
        <execution> 
         <id>mojo-descriptor</id> 
         <goals> 
          <goal>descriptor</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.12</version> 
       <configuration> 
        <forkMode>never</forkMode> 
       </configuration> 
      </plugin> 
     </plugins> 

     <directory>${project.basedir}/target</directory> 
     <outputDirectory>${project.build.directory}/classes</outputDirectory> 
     <finalName>${project.artifactId}-${project.version}</finalName> 
     <testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory> 
     <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory> 
     <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory> 
     <resources> 
      <resource> 
       <directory>${project.basedir}/src/main/resources</directory> 
      </resource> 
     </resources> 
     <testResources> 
      <testResource> 
       <directory>${project.basedir}/src/test/resources</directory> 
      </testResource> 
     </testResources> 

    </build> 
    <dependencies> 
     <dependency> 
      <groupId>***.webshare</groupId> 
      <artifactId>simple-web-share-api</artifactId> 
      <version>0.4</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.maven</groupId> 
      <artifactId>maven-plugin-api</artifactId> 
      <version>${maven.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>jdom</groupId> 
      <artifactId>jdom</artifactId> 
      <version>1.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-lang3</artifactId> 
      <version>3.5</version> 
     </dependency> 
     <dependency> 
      <groupId>org.eclipse.aether</groupId> 
      <artifactId>aether-api</artifactId> 
      <version>1.1.0</version> 
     </dependency> 

     <!-- dependencies to annotations --> 

     <dependency> 
      <groupId>org.apache.maven.plugin-tools</groupId> 
      <artifactId>maven-plugin-annotations</artifactId> 
      <version>3.2</version> 
      <scope>provided</scope> 
     </dependency> 

     <!-- Test --> 

     <dependency> 
      <groupId>org.apache.maven.plugin-testing</groupId> 
      <artifactId>maven-plugin-testing-harness</artifactId> 
      <version>2.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.maven</groupId> 
      <artifactId>maven-core</artifactId> 
      <version>${maven.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.12</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.maven</groupId> 
      <artifactId>maven-compat</artifactId> 
      <version>${maven.version}</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 
</project>