カスタム Maven プラグインを開発しようとしています。単体テストを実行すると、現在この問題が発生しています。java.lang.NoClassDefFoundError: org.eclipse.aether.RepositorySystemSession
スタック トレースは以下のとおりです。
initializationError(com.mycompany.MyPluginTest) 経過時間: 0 秒 (TestSuite.java:132) org.junit.internal.runners.JUnit38ClassRunner.(JUnit38ClassRunner.java:72) で org.junit.internal.builders.JUnit3Builder.runnerForClass(JUnit3Builder.java:11) で org.junit.runners.model.RunnerBuilder.safeRunnerForClass (RunnerBuilder.java:59) で org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass (AllDefaultPossibilitiesBuilder.java:26) で org.junit.runners.model.RunnerBuilder.safeRunnerForClass (RunnerBuilder.java:59) で org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26) で org.apache.maven.surefire.junit4.JUnit4Provider.execute (JUnit4Provider.java:262) で org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet (JUnit4Provider.java:153) で org.apache.maven.surefire.junit4.JUnit4Provider.invoke (JUnit4Provider.java:124) で org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader (ForkedBooter.java:200) で org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess (ForkedBooter.java:153) で org.apache.maven.surefire.booter.ForkedBooter.main (ForkedBooter.java:103) で 原因: java.lang.ClassNotFoundException: org.eclipse.aether.RepositorySystemSession java.net.URLClassLoader.findClass(URLClassLoader.java:423) で java.lang.ClassLoader.loadClass(ClassLoader.java:660) で sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:346) で java.lang.ClassLoader.loadClass(ClassLoader.java:626) で java.lang.J9VMInternals.verifyImpl(ネイティブメソッド)で java.lang.J9VMInternals.verify(J9VMInternals.java:72)で java.lang.J9VMInternals.verify(J9VMInternals.java:70)で java.lang.J9VMInternals.initialize(J9VMInternals.java:134) sun.reflect.NativeConstructorAccessorImpl.newInstance0(ネイティブメソッド) sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:44) で sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) で java.lang.reflect.Constructor.newInstance (Constructor.java:516) で junit.framework.TestSuite.createTest(TestSuite.java:63) で junit.framework.TestSuite.addTestMethod(TestSuite.java:310) で junit.framework.TestSuite.addTestsFromTestCase (TestSuite.java:153) で junit.framework.TestSuite で。(TestSuite.java:132) org.junit.internal.runners.JUnit38ClassRunner.(JUnit38ClassRunner.java:72) で org.junit.internal.builders.JUnit3Builder.runnerForClass(JUnit3Builder.java:11) で org.junit.runners.model.RunnerBuilder.safeRunnerForClass (RunnerBuilder.java:59) で org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass (AllDefaultPossibilitiesBuilder.java:26) で org.junit.runners.model.RunnerBuilder.safeRunnerForClass (RunnerBuilder.java:59) で org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26) で org.apache.maven.surefire.junit4.JUnit4Provider.execute (JUnit4Provider.java:262) で org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet (JUnit4Provider.java:153) で org.apache.maven.surefire.junit4.JUnit4Provider.invoke (JUnit4Provider.java:124) で org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader (ForkedBooter.java:200) で org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess (ForkedBooter.java:153) で org.apache.maven.surefire.booter.ForkedBooter.main (ForkedBooter.java:103) で
私の調査によると、これは Maven 3.1.x 用にビルドするときに発生する可能性があります。これは、Maven が sonatype aether 実装から eclipse 実装に切り替わったためです。
Eclipse 3.0.4用のプラグインを構築しようとしています。これは、すべてのワークステーションにインストールされているためです。依存関係の 1 つが Maven 3.1.x の依存関係であるため、このエラーが表示されていると想定していますが、どの依存関係かはわかりません。私が修正すべき依存関係を誰かが知っていますか?
また、Maven 3.0.x および 3.1.x で動作するプラグインを構築できるかどうかを知っている人はいますか? 将来、新しいバージョンの Maven に移行するときに、このすべてをもう一度行う必要はありません。
私のPOMの依存関係は次のようになります。
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-tools-api</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-testing</groupId>
<artifactId>maven-plugin-testing-harness</artifactId>
<version>3.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>3.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>3.0.4</version>
</dependency>
</dependencies>