0

我曾经在 maven2.2.1 中使用“编译”和“打包”我的项目没有问题。但是当我切换到 maven3.0.3 时,我遇到了这个错误:

java.lang.NoClassDefFoundError: org/apache/maven/surefire/booter/SurefireExecutionException
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
    at java.lang.Class.getDeclaredConstructors(Class.java:1836)
    at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:243)
    at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:96)
    at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:628)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:835)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:769)
    at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:254)
    at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:205)
    at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:843)
    at com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:957)
    at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:990)
    at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:951)
    at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1003)
    at org.sonatype.guice.bean.reflect.AbstractDeferredClass.get(AbstractDeferredClass.java:47)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
    at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:968)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1014)
    at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:964)
    at com.google.inject.Scopes$1$1.get(Scopes.java:59)
    at org.sonatype.guice.bean.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:79)
    at org.sonatype.guice.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:53)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:243)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:235)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:455)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:92)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    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:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: java.lang.ClassNotFoundException: org.apache.maven.surefire.booter.SurefireExecutionException
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)

还有这个:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.7.2:test (default-test) on project yaghut-core: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.7.2:test failed: Unable to load the mojo 'test' in the plugin 'org.apache.maven.plugins:maven-surefire-plugin:2.7.2'. A required class is missing: org/apache/maven/surefire/booter/SurefireExecutionException

[ERROR] realm =    plugin>org.apache.maven.plugins:maven-surefire-plugin:2.7.2
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/C:/Program_Files_Java/repository/org/apache/maven/plugins/maven-surefire-plugin/2.7.2/maven-surefire-plugin-2.7.2.jar
[ERROR] urls[1] = file:/C:/Program_Files_Java/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR]
org.apache.maven.surefire.booter.SurefireExecutionException
[ERROR] -> [Help 1]
[ERROR]

有人对这个问题有任何想法吗?

4

2 回答 2

2

更新到更新版本的maven-surefire-plugin(2.12 最新版本)。2.7.2 有点过时了。

于 2012-05-14T10:57:45.240 回答
0

我猜这是因为 maven3.0.3 的错误而发生的!我的问题通过升级到mave3.0.4解决了

于 2012-05-22T09:52:12.553 回答