您好,我在parent pom.xml中有以下jbehave插件配置
${jbehave.version} = 3.9.4
<!--Jbehave-->
<plugin>
<groupId>org.jbehave</groupId>
<artifactId>jbehave-maven-plugin</artifactId>
<version>${jbehave.version}</version>
<configuration>
<scope>test</scope>
<includes>
<include>**/HotelStories.java</include>
</includes>
</configuration>
<executions>
<execution>
<id>run-stories-with-annotated-embedder</id>
<phase>test</phase>
<goals>
<goal>run-stories-with-annotated-embedder</goal>
</goals>
</execution>
</executions>
</plugin>不幸的是,插件不能加载类HotelStories.java。它会失败,并出现以下异常
[ERROR] Failed to execute goal org.jbehave:jbehave-maven-plugin:3.9.4:run-stories-with-annotated-embedder (default-cli) on project com.alg.ce.services.jbehave: Failed to run stories with annotated embedder runner: Failed to load class com.alg.services.jbehave.stories.HotelStories with classLoader EmbedderClassLoader[urls=[/C:/Users/gsamsonov/av_services/serviceslayer/jbehave/target/test-classes, /C:/Users/gsamsonov/av_services/serviceslayer/jbehave/target/classes, hamcrest-library-1.2.1.jar, hamcrest-core-1.2.1.jar, jbehave-core-3.9.4.jar, junit-4.11.jar, hamcrest-integration-1.3.jar, commons-collections-3.2.1.jar, commons-io-2.4.jar, commons-lang-2.3.jar, plexus-utils-3.0.10.jar, freemarker-2.3.19.jar, paranamer-2.4.jar, xstream-1.4.5.jar, xmlpull-1.1.3.1.jar, xpp3_min-1.1.4c.jar, jbehave-maven-plugin-3.9.4.jar, maven-plugin-api-2.0.11.jar, maven-artifact-2.0.11.jar, maven-project-2.0.11.jar, maven-settings-2.0.11.jar, maven-profile-2.0.11.jar, maven-model-2.0.11.jar, maven-artifact-manager-2.0.11.jar, maven-repository-metadata-2.0.11.jar, wagon-provider-api-1.0-beta-2.jar, maven-plugin-registry-2.0.11.jar, plexus-interpolation-1.1.jar, plexus-container-default-1.0-alpha-9-stable-1.jar, classworlds-1.1-alpha-2.jar, plexus-archiver-1.2.jar, plexus-io-1.0.1.jar, jbehave-spring-3.9.4.jar, spring-context-4.0.5.RELEASE.jar, spring-aop-4.0.5.RELEASE.jar, aopalliance-1.0.jar, spring-beans-4.0.5.RELEASE.jar, spring-expression-4.0.5.RELEASE.jar, spring-test-4.0.5.RELEASE.jar, spring-core-4.0.5.RELEASE.jar, com.alg.ce.services.common-0.0.1-SNAPSHOT.jar, validation-api-1.1.0.Final.jar, spring-jdbc-4.0.5.RELEASE.jar, spring-tx-4.0.5.RELEASE.jar, spring-ws-core-2.2.0.RELEASE.jar, spring-xml-2.2.0.RELEASE.jar, spring-oxm-4.0.5.RELEASE.jar, spring-webmvc-4.0.5.RELEASE.jar, httpclient-4.3.3.jar, httpcore-4.3.2.jar, commons-codec-1.9.jar, com.alg.ce.services.repository-0.0.1-SNAPSHOT.jar, couchbase-client-1.4.2.jar, netty-3.5.5.Final.jar, jettison-1.1.jar, stax-api-1.0.1.jar, spymemcached-2.11.3.jar, httpcore-nio-4.3.jar, jackson-databind-2.2.1.jar, jackson-annotations-2.2.1.jar, jackson-core-2.2.1.jar, aspectjweaver-1.7.3.jar, aspectjrt-1.7.3.jar, aspectjtools-1.7.3.jar, asm-all-4.0.jar, cglib-2.2.0-b14.jar, poi-3.10-FINAL.jar, poi-ooxml-3.10-FINAL.jar, poi-ooxml-schemas-3.10-FINAL.jar, xmlbeans-2.3.0.jar, dom4j-1.6.1.jar, xml-apis-1.0.b2.jar, jackson-mapper-asl-1.9.13.jar, jackson-core-asl-1.9.13.jar, spring-web-4.0.5.RELEASE.jar, com.alg.ce.services.bl-0.0.1-SNAPSHOT.jar, joda-time-2.3.jar, logback-classic-1.1.2.jar, logback-core-1.1.2.jar, slf4j-api-1.7.6.jar, commons-logging-1.1.3.jar, db2jcc-4.9.78.jar],parent=ClassRealm[plugin>org.jbehave:jbehave-maven-plugin:3.9.4, parent: sun.misc.Launcher$AppClassLoader@1df95673]] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.jbehave:jbehave-maven-plugin:3.9.4:run-stories-with-annotated-embedder (default-cli) on project com.alg.ce.services.jbehave: Failed to run stories with annotated embedder runner
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
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:317)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
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)
at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
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 com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: org.apache.maven.plugin.MojoFailureException: Failed to run stories with annotated embedder runner
at org.jbehave.mojo.RunStoriesWithAnnotatedEmbedderRunner.execute(RunStoriesWithAnnotatedEmbedderRunner.java:23)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 25 more
Caused by: org.jbehave.core.junit.AnnotatedEmbedderUtils$ClassLoadingFailed: Failed to load class com.alg.services.jbehave.stories.HotelStories with classLoader EmbedderClassLoader[urls=[/C:/Users/gsamsonov/av_services/serviceslayer/jbehave/target/test-classes, /C:/Users/gsamsonov/av_services/serviceslayer/jbehave/target/classes, hamcrest-library-1.2.1.jar, hamcrest-core-1.2.1.jar, jbehave-core-3.9.4.jar, junit-4.11.jar, hamcrest-integration-1.3.jar, commons-collections-3.2.1.jar, commons-io-2.4.jar, commons-lang-2.3.jar, plexus-utils-3.0.10.jar, freemarker-2.3.19.jar, paranamer-2.4.jar, xstream-1.4.5.jar, xmlpull-1.1.3.1.jar, xpp3_min-1.1.4c.jar, jbehave-maven-plugin-3.9.4.jar, maven-plugin-api-2.0.11.jar, maven-artifact-2.0.11.jar, maven-project-2.0.11.jar, maven-settings-2.0.11.jar, maven-profile-2.0.11.jar, maven-model-2.0.11.jar, maven-artifact-manager-2.0.11.jar, maven-repository-metadata-2.0.11.jar, wagon-provider-api-1.0-beta-2.jar, maven-plugin-registry-2.0.11.jar, plexus-interpolation-1.1.jar, plexus-container-default-1.0-alpha-9-stable-1.jar, classworlds-1.1-alpha-2.jar, plexus-archiver-1.2.jar, plexus-io-1.0.1.jar, jbehave-spring-3.9.4.jar, spring-context-4.0.5.RELEASE.jar, spring-aop-4.0.5.RELEASE.jar, aopalliance-1.0.jar, spring-beans-4.0.5.RELEASE.jar, spring-expression-4.0.5.RELEASE.jar, spring-test-4.0.5.RELEASE.jar, spring-core-4.0.5.RELEASE.jar, com.alg.ce.services.common-0.0.1-SNAPSHOT.jar, validation-api-1.1.0.Final.jar, spring-jdbc-4.0.5.RELEASE.jar, spring-tx-4.0.5.RELEASE.jar, spring-ws-core-2.2.0.RELEASE.jar, spring-xml-2.2.0.RELEASE.jar, spring-oxm-4.0.5.RELEASE.jar, spring-webmvc-4.0.5.RELEASE.jar, httpclient-4.3.3.jar, httpcore-4.3.2.jar, commons-codec-1.9.jar, com.alg.ce.services.repository-0.0.1-SNAPSHOT.jar, couchbase-client-1.4.2.jar, netty-3.5.5.Final.jar, jettison-1.1.jar, stax-api-1.0.1.jar, spymemcached-2.11.3.jar, httpcore-nio-4.3.jar, jackson-databind-2.2.1.jar, jackson-annotations-2.2.1.jar, jackson-core-2.2.1.jar, aspectjweaver-1.7.3.jar, aspectjrt-1.7.3.jar, aspectjtools-1.7.3.jar, asm-all-4.0.jar, cglib-2.2.0-b14.jar, poi-3.10-FINAL.jar, poi-ooxml-3.10-FINAL.jar, poi-ooxml-schemas-3.10-FINAL.jar, xmlbeans-2.3.0.jar, dom4j-1.6.1.jar, xml-apis-1.0.b2.jar, jackson-mapper-asl-1.9.13.jar, jackson-core-asl-1.9.13.jar, spring-web-4.0.5.RELEASE.jar, com.alg.ce.services.bl-0.0.1-SNAPSHOT.jar, joda-time-2.3.jar, logback-classic-1.1.2.jar, logback-core-1.1.2.jar, slf4j-api-1.7.6.jar, commons-logging-1.1.3.jar, db2jcc-4.9.78.jar],parent=ClassRealm[plugin>org.jbehave:jbehave-maven-plugin:3.9.4, parent: sun.misc.Launcher$AppClassLoader@1df95673]]
at org.jbehave.core.junit.AnnotatedEmbedderUtils.loadClass(AnnotatedEmbedderUtils.java:37)
at org.jbehave.core.junit.AnnotatedEmbedderUtils.runnerClass(AnnotatedEmbedderUtils.java:15)
at org.jbehave.core.junit.AnnotatedEmbedderUtils.annotatedEmbedderRunner(AnnotatedEmbedderUtils.java:10)
at org.jbehave.core.embedder.Embedder.runStoriesWithAnnotatedEmbedderRunner(Embedder.java:168)
at org.jbehave.mojo.RunStoriesWithAnnotatedEmbedderRunner.execute(RunStoriesWithAnnotatedEmbedderRunner.java:21)
... 27 more
Caused by: java.lang.ClassNotFoundException: com.alg.services.jbehave.stories.HotelStories
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.jbehave.core.junit.AnnotatedEmbedderUtils.loadClass(AnnotatedEmbedderUtils.java:35)有没有人遇到过类似的问题,我似乎已经在网上搜索了很多次,但都找不到解决方案。
发布于 2014-09-08 22:31:24
错误可以归结为:
ClassNotFoundException: com.alg.services.jbehave.stories.HotelStories这意味着HotelStories.java不在类路径上。这是必须的。因此,除非您更改了默认配置,否则它应该位于当前项目的/src/main/java下,或者它的某个依赖项下。
https://stackoverflow.com/questions/25725516
复制相似问题