ldap-maven-plugin ClassNotFoundException

时间:2015-05-25 09:03:44

标签: java spring maven integration-testing

我正在尝试使用ldap-maven-plugin来实现一些专用于ldap组件的集成测试,但没有成功。 ldap-maven-plugin找不到Aether依赖项中包含的Artifact类。试图在项目或插件中包含此依赖项无法解决。

感谢您的支持。

我的pom片段取自文档:

<plugin>
    <groupId>com.btmatthews.maven.plugins</groupId>
    <artifactId>ldap-maven-plugin</artifactId>
    <version>1.2.0</version>
    <dependencies>
        <dependency>
            <groupId>org.sonatype.aether</groupId>
            <artifactId>aether-api</artifactId>
            <version>1.13.1</version>
        </dependency>
    </dependencies>
    <configuration>
        <monitorPort>11389</monitorPort>
        <monitorKey>ldap</monitorKey>
        <daemon>true</daemon>
        <rootDn>dc=btmatthews,dc=com</rootDn>
        <ldapPort>10389</ldapPort>
        <ldifFile>src/test/resources/data.ldif</ldifFile>
    </configuration>
    <executions>
        <execution>
            <id>start-server</id>
            <phase>pre-integration-test</phase>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
        <execution>
            <id>stop-server</id>
            <phase>post-integration-test</phase>
            <goals>
                <goal>stop</goal>
            </goals>
        </execution>
    </executions>
</plugin>

尝试执行我的测试时会返回以下异常:

 [WARNING] Error injecting:
 com.btmatthews.maven.plugins.ldap.mojo.IncludeServerDependenciesComponentConfigurator
 java.lang.NoClassDefFoundError: org/sonatype/aether/artifact/Artifact
  at java.lang.Class.getDeclaredConstructors0(Native Method)  at
 java.lang.Class.privateGetDeclaredConstructors(Class.java:2585)    at
 java.lang.Class.getDeclaredConstructors(Class.java:1906)  at
 com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:245)
  at
 com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:99)
  at
 com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:657)
  at
 com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:875)
  at
 com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:798)
  at
 com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:281)
  at
 com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:213)
  at
 com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:998)
  at
 com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1031)
  at
 com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:994)
  at
 com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1044)
  at
 org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48)
  at
 com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)
  at
 com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:54)
  at
 com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
  at
 com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:113)
  at
 org.eclipse.sisu.bean.BeanScheduler$Activator.onProvision(BeanScheduler.java:176)
  at
 com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:122)
  at
 com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68)
  at
 com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
  at
 com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:46)
  at
 com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
  at
 com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1066)
  at
 com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
  at com.google.inject.Scopes$1$1.get(Scopes.java:59)   at
 com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
  at
 com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1009)
  at
 com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1059)
  at
 com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1005)
  at
 org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82)
  at
 org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)
  at
 org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:263)
  at
 org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:255)
  at
 org.apache.maven.plugin.internal.DefaultMavenPluginManager.populatePluginFields(DefaultMavenPluginManager.java:567)
  at
 org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:539)
  at
 org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:119)
  at
 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
  at
 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
  at
 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
  at
 org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
  at
 org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
  at
 org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
  at
 org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
  at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)    at
 org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)    at
 org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)  at
 org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)   at
 org.apache.maven.cli.MavenCli.main(MavenCli.java:160)  at
 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  at
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:606)   at
 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
  at
 org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
  at
 org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
  at
 org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
 Caused by: java.lang.ClassNotFoundException:
 org.sonatype.aether.artifact.Artifact   at
 org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
  at
 org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
  at
 org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
  at
 org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
  ... 59 more

0 个答案:

没有答案