我有一个Maven项目,生成一个Mule连接器.它基本上是一个
shell,所以我开始使用JBehave添加一些BDD测试.我添加的第一个测试很少:
public class FakeSteps extends Embedder {
@Given("I have something")
public void iHaveSomething() {
System.out.println("Have something...");
}
@When("I do something")
public void iDoSomething() {
System.out.println("Doing something...");
}
@Then("we are ok")
public void weAreOk() {
Assert.assertTrue("FAILURE!!!!!", true);
System.out.println("We are ok.");
}
}
如果我在IntelliJ中运行测试,它就会通过.当我执行“mvn clean install”时,测试不会抛出错误,但是由于“org.apache.log4j.Priority”中的异常,构建失败:
...
Have something...
Doing something...
We are ok.
(AfterStories)
[INFO] Generating reports view to '/Users/user/git_repos/myTest-connector/target/jbehave' using formats '[xml, ide_console, console, html, txt]' and view properties '{defaultFormats=stats, decorateNonHtml=true, viewDirectory=view, decorated=ftl/jbehave-report-decorated.ftl, reports=ftl/jbehave-reports-with-totals.ftl, maps=ftl/jbehave-maps.ftl, navigator=ftl/jbehave-navigator.ftl, views=ftl/jbehave-views.ftl, nonDecorated=ftl/jbehave-report-non-decorated.ftl}'
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 53.650s
[INFO] Finished at: Thu Sep 26 17:38:36 MDT 2013
[INFO] Final Memory: 38M/81M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.jbehave:jbehave-maven-plugin:3.8:run-stories-as-embeddables (run-stories-as-embeddables) on project myTest-connector: Failed to run stories as embeddables: Failure in running embeddable: org.mule.modules.jbehave.JBehaveStories: org/apache/log4j/Priority: org.apache.log4j.Priority -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.jbehave:jbehave-maven-plugin:3.8:run-stories-as-embeddables (run-stories-as-embeddables) on project myTest-connector: Failed to run stories as embeddables
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
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:320)
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: org.apache.maven.plugin.MojoFailureException: Failed to run stories as embeddables
at org.jbehave.mojo.RunStoriesAsEmbeddables.execute(RunStoriesAsEmbeddables.java:20)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 19 more
Caused by: org.jbehave.core.embedder.Embedder$RunningEmbeddablesFailed: Failure in running embeddable: org.mule.modules.jbehave.JBehaveStories
at org.jbehave.core.embedder.Embedder.runAsEmbeddables(Embedder.java:131)
at org.jbehave.mojo.RunStoriesAsEmbeddables.execute(RunStoriesAsEmbeddables.java:18)
... 21 more
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Priority
at freemarker.log.Log4JLoggerFactory.getLogger(Log4JLoggerFactory.java:65)
at freemarker.log.Logger.getLogger(Logger.java:284)
at freemarker.template.utility.SecurityUtilities.<clinit>(SecurityUtilities.java:67)
at freemarker.ext.beans.BeansWrapper.<clinit>(BeansWrapper.java:147)
at freemarker.template.ObjectWrapper.<clinit>(ObjectWrapper.java:69)
at freemarker.core.Configurable.<init>(Configurable.java:139)
at freemarker.template.Configuration.<init>(Configuration.java:142)
at freemarker.template.Configuration.<clinit>(Configuration.java:127)
at org.jbehave.core.reporters.FreemarkerProcessor.configuration(FreemarkerProcessor.java:30)
at org.jbehave.core.reporters.FreemarkerProcessor.process(FreemarkerProcessor.java:21)
at org.jbehave.core.reporters.TemplateableViewGenerator.write(TemplateableViewGenerator.java:237)
at org.jbehave.core.reporters.TemplateableViewGenerator.createReports(TemplateableViewGenerator.java:189)
at org.jbehave.core.reporters.TemplateableViewGenerator.generateReportsView(TemplateableViewGenerator.java:111)
at org.jbehave.core.embedder.Embedder.generateReportsView(Embedder.java:245)
at org.jbehave.core.embedder.Embedder.generateReportsView(Embedder.java:233)
at org.jbehave.core.embedder.Embedder.runStoriesAsPaths(Embedder.java:212)
at org.jbehave.core.junit.JUnitStories.run(JUnitStories.java:20)
at org.jbehave.core.embedder.Embedder.runAsEmbeddables(Embedder.java:122)
... 22 more
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Priority
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)
... 40 more
[ERROR]
[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
JBehave的My Maven配置是:
<properties>
<mule.version>3.4.0</mule.version>
<mule.devkit.version>3.4.0</mule.devkit.version>
<junit.version>4.11</junit.version>
<mockito.version>1.8.2</mockito.version>
<jdk.version>1.6</jdk.version>
<jbehave.version>3.8</jbehave.version>
</properties>
...
<plugin>
<groupId>org.jbehave</groupId>
<artifactId>jbehave-maven-plugin</artifactId>
<version>${jbehave.version}</version>
<executions>
<execution>
<id>run-stories-as-embeddables</id>
<phase>integration-test</phase>
<configuration>
<scope>test</scope>
<includes>
<include>**/*Stories.java</include>
</includes>
<ignoreFailureInStories>false</ignoreFailureInStories>
<ignoreFailureInView>false</ignoreFailureInView>
</configuration>
<goals>
<goal>run-stories-as-embeddables</goal>
</goals>
</execution>
</executions>
</plugin>
我的Maven,Java和机器信息是:
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 06:51:28-0700)
Maven home: /usr/share/maven
Java version: 1.6.0_51, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF8
OS name: "mac os x", version: "10.8.5", arch: "x86_64", family: "mac"
我不清楚根本原因是什么.我将log4j添加为Maven依赖项,问题仍在继续.
这是maven依赖树:
[INFO] ------------------------------------------------------------------------
[INFO] Building Mule Cloud Connector 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ myTest-connector ---
[INFO] org.mule.modules:myTest-connector:mule-module:1.0-SNAPSHOT
[INFO] +- org.mule:mule-core:jar:3.4.0:provided (scope not updated to compile)
[INFO] | +- commons-beanutils:commons-beanutils:jar:1.8.0:provided
[INFO] | +- org.safehaus.jug:jug:jar:asl:2.0.0:provided
[INFO] | +- commons-cli:commons-cli:jar:1.2:provided
[INFO] | +- (commons-collections:commons-collections:jar:3.2.1:compile - scope updated from provided; omitted for duplicate)
[INFO] | +- (commons-io:commons-io:jar:1.4:compile - scope updated from provided; omitted for duplicate)
[INFO] | +- (commons-lang:commons-lang:jar:2.4:compile - scope updated from provided; omitted for duplicate)
[INFO] | +- commons-pool:commons-pool:jar:1.5.3:provided
[INFO] | +- javax.activation:activation:jar:1.1-osgi:provided
[INFO] | +- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:provided
[INFO] | +- org.apache.geronimo.specs:geronimo-j2ee-connector_1.5_spec:jar:1.1-osgi:provided
[INFO] | +- javax.annotation:jsr250-api:jar:1.0:provided
[INFO] | +- org.slf4j:jcl-over-slf4j:jar:1.6.1:provided
[INFO] | | \- (org.slf4j:slf4j-api:jar:1.6.1:provided - omitted for duplicate)
[INFO] | +- (org.slf4j:slf4j-api:jar:1.6.1:compile - scope updated from provided; omitted for duplicate)
[INFO] | +- org.slf4j:slf4j-log4j12:jar:1.6.1:provided
[INFO] | | +- (org.slf4j:slf4j-api:jar:1.6.1:provided - omitted for duplicate)
[INFO] | | \- (log4j:log4j:jar:1.2.16:provided - omitted for duplicate)
[INFO] | +- log4j:log4j:jar:1.2.16:provided
[INFO] | +- asm:asm:jar:3.1:provided
[INFO] | +- asm:asm-commons:jar:3.1:provided
[INFO] | | \- asm:asm-tree:jar:3.1:provided
[INFO] | | \- (asm:asm:jar:3.1:provided - omitted for duplicate)
[INFO] | +- org.mvel:mvel2:jar:2.1.3.Final:provided
[INFO] | +- org.jgrapht:jgrapht-jdk1.5:jar:0.7.3:provided
[INFO] | \- org.mule.common:mule-common:jar:0.11.0:provided
[INFO] +- org.mule.modules:mule-module-spring-config:jar:3.4.0:compile
[INFO] | +- (org.mule:mule-core:jar:3.4.0:compile - omitted for duplicate)
[INFO] | +- org.mule.modules:mule-module-annotations:jar:3.4.0:compile
[INFO] | | +- (org.mule:mule-core:jar:3.4.0:compile - omitted for duplicate)
[INFO] | | \- cglib:cglib-nodep:jar:2.2:compile
[INFO] | +- org.springframework:spring-context:jar:3.2.1.RELEASE:compile
[INFO] | | +- org.springframework:spring-beans:jar:3.2.1.RELEASE:compile
[INFO] | | | \- (org.springframework:spring-core:jar:3.2.1.RELEASE:compile - omitted for duplicate)
[INFO] | | +- org.springframework:spring-aop:jar:3.2.1.RELEASE:compile
[INFO] | | | +- (org.springframework:spring-beans:jar:3.2.1.RELEASE:compile - omitted for duplicate)
[INFO] | | | \- (org.springframework:spring-core:jar:3.2.1.RELEASE:compile - omitted for duplicate)
[INFO] | | +- org.springframework:spring-expression:jar:3.2.1.RELEASE:compile
[INFO] | | | \- (org.springframework:spring-core:jar:3.2.1.RELEASE:compile - omitted for duplicate)
[INFO] | | \- org.springframework:spring-core:jar:3.2.1.RELEASE:compile
[INFO] | +- dom4j:dom4j:jar:1.6.1-osgi:compile
[INFO] | \- jaxen:jaxen:jar:1.1.1:compile
[INFO] | +- (dom4j:dom4j:jar:1.6.1:compile - omitted for conflict with 1.6.1-osgi)
[INFO] | +- (jaxen:jaxen:jar:1.0-FCS:compile - omitted for cycle)
[INFO] | \- jdom:jdom:jar:1.0:compile
[INFO] +- org.mule.tools.devkit:mule-devkit-annotations:jar:3.4.0:compile
[INFO] | +- javax.inject:javax.inject:jar:1:compile
[INFO] | +- (org.mule.modules:mule-module-annotations:jar:3.4.0:compile - omitted for duplicate)
[INFO] | \- org.mule.modules:mule-module-devkit-support:jar:3.4.0:compile
[INFO] | \- (org.mule:mule-core:jar:3.4.0:compile - omitted for duplicate)
[INFO] +- org.eclipse:eclipse-workbench:jar:3.6.1.M20100826-1330:provided
[INFO] +- org.eclipse:eclipse-runtime:jar:3.6.0.v20100505:provided
[INFO] +- org.osgi:core:jar:4.3.0:provided
[INFO] +- org.mockito:mockito-all:jar:1.8.2:test
[INFO] +- org.mule.tests:mule-tests-functional:jar:3.4.0:test
[INFO] | +- (org.mule:mule-core:jar:3.4.0:test - omitted for duplicate)
[INFO] | +- (org.mule.modules:mule-module-spring-config:jar:3.4.0:test - omitted for duplicate)
[INFO] | +- (org.springframework:spring-beans:jar:3.2.1.RELEASE:compile - scope updated from test; omitted for duplicate)
[INFO] | +- (junit:junit:jar:4.9:compile - scope updated from test; omitted for duplicate)
[INFO] | +- commons-net:commons-net:jar:2.0:test
[INFO] | +- org.apache.ftpserver:ftpserver-core:jar:1.0.2:test
[INFO] | | +- (org.apache.ftpserver:ftplet-api:jar:1.0.2:test - omitted for duplicate)
[INFO] | | +- (org.slf4j:slf4j-api:jar:1.5.2:test - omitted for conflict with 1.6.1)
[INFO] | | \- org.apache.mina:mina-core:jar:2.0.0-M6:test
[INFO] | | \- (org.slf4j:slf4j-api:jar:1.5.2:test - omitted for conflict with 1.6.1)
[INFO] | +- org.apache.ftpserver:ftplet-api:jar:1.0.2:test
[INFO] | +- org.apache.sshd:sshd-core:jar:0.6.0:test
[INFO] | | \- (org.apache.mina:mina-core:jar:2.0.2:test - omitted for conflict with 2.0.0-M6)
[INFO] | +- bouncycastle:bcprov-jdk14:jar:139:test
[INFO] | +- org.mule:mule-core:test-jar:tests:3.4.0:test
[INFO] | | +- (commons-beanutils:commons-beanutils:jar:1.8.0:test - omitted for duplicate)
[INFO] | | +- (org.safehaus.jug:jug:jar:asl:2.0.0:test - omitted for duplicate)
[INFO] | | +- (commons-cli:commons-cli:jar:1.2:test - omitted for duplicate)
[INFO] | | +- (commons-collections:commons-collections:jar:3.2.1:test - omitted for duplicate)
[INFO] | | +- (commons-io:commons-io:jar:1.4:test - omitted for duplicate)
[INFO] | | +- (commons-lang:commons-lang:jar:2.4:test - omitted for duplicate)
[INFO] | | +- (commons-pool:commons-pool:jar:1.5.3:test - omitted for duplicate)
[INFO] | | +- (javax.activation:activation:jar:1.1-osgi:test - omitted for duplicate)
[INFO] | | +- (org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:test - omitted for duplicate)
[INFO] | | +- (org.apache.geronimo.specs:geronimo-j2ee-connector_1.5_spec:jar:1.1-osgi:test - omitted for duplicate)
[INFO] | | +- (javax.annotation:jsr250-api:jar:1.0:test - omitted for duplicate)
[INFO] | | +- (org.slf4j:jcl-over-slf4j:jar:1.6.1:test - omitted for duplicate)
[INFO] | | +- (org.slf4j:slf4j-api:jar:1.6.1:test - omitted for duplicate)
[INFO] | | +- (org.slf4j:slf4j-log4j12:jar:1.6.1:test - omitted for duplicate)
[INFO] | | +- (log4j:log4j:jar:1.2.16:test - omitted for duplicate)
[INFO] | | +- (asm:asm:jar:3.1:test - omitted for duplicate)
[INFO] | | +- (asm:asm-commons:jar:3.1:test - omitted for duplicate)
[INFO] | | +- (org.mvel:mvel2:jar:2.1.3.Final:test - omitted for duplicate)
[INFO] | | +- (org.jgrapht:jgrapht-jdk1.5:jar:0.7.3:test - omitted for duplicate)
[INFO] | | \- (org.mule.common:mule-common:jar:0.11.0:test - omitted for duplicate)
[INFO] | \- (org.mockito:mockito-all:jar:1.9.0:test - omitted for conflict with 1.8.2)
[INFO] +- com.amazonaws:aws-java-sdk:jar:1.5.6:compile
[INFO] | +- commons-logging:commons-logging:jar:1.1.1:compile
[INFO] | +- org.apache.httpcomponents:httpclient:jar:4.2:compile
[INFO] | | +- org.apache.httpcomponents:httpcore:jar:4.2:compile
[INFO] | | +- (commons-logging:commons-logging:jar:1.1.1:compile - omitted for duplicate)
[INFO] | | \- (commons-codec:commons-codec:jar:1.6:compile - omitted for conflict with 1.3)
[INFO] | +- commons-codec:commons-codec:jar:1.3:compile
[INFO] | +- org.codehaus.jackson:jackson-core-asl:jar:1.8.9:compile
[INFO] | \- org.codehaus.jackson:jackson-mapper-asl:jar:1.8.9:compile
[INFO] | \- (org.codehaus.jackson:jackson-core-asl:jar:1.8.9:compile - omitted for duplicate)
[INFO] +- ch.qos.logback:logback-classic:jar:1.0.13:compile
[INFO] | +- ch.qos.logback:logback-core:jar:1.0.13:compile
[INFO] | \- org.slf4j:slf4j-api:jar:1.6.1:compile
[INFO] +- uk.com.robust-it:cloning:jar:1.9.0:compile
[INFO] | \- org.objenesis:objenesis:jar:1.2:compile
[INFO] +- org.jbehave:jbehave-core:jar:3.8:compile
[INFO] | +- junit:junit-dep:jar:4.8.2:compile
[INFO] | +- org.hamcrest:hamcrest-core:jar:1.1:compile
[INFO] | +- org.hamcrest:hamcrest-library:jar:1.1:compile
[INFO] | | \- (org.hamcrest:hamcrest-core:jar:1.1:compile - omitted for duplicate)
[INFO] | +- org.hamcrest:hamcrest-integration:jar:1.1:compile
[INFO] | | \- (org.hamcrest:hamcrest-core:jar:1.1:compile - omitted for duplicate)
[INFO] | +- commons-collections:commons-collections:jar:3.2.1:compile
[INFO] | +- commons-io:commons-io:jar:1.4:compile
[INFO] | +- commons-lang:commons-lang:jar:2.4:compile
[INFO] | +- org.codehaus.plexus:plexus-utils:jar:3.0.10:compile
[INFO] | +- org.freemarker:freemarker:jar:2.3.19:compile
[INFO] | +- com.thoughtworks.paranamer:paranamer:jar:2.4:compile
[INFO] | \- com.thoughtworks.xstream:xstream:jar:1.4.4:compile
[INFO] | +- xmlpull:xmlpull:jar:1.1.3.1:compile
[INFO] | \- xpp3:xpp3_min:jar:1.1.4c:compile
[INFO] +- org.jbehave:jbehave-maven-plugin:jar:3.8:compile
[INFO] | +- (org.jbehave:jbehave-core:jar:3.8:compile - omitted for duplicate)
[INFO] | +- org.apache.maven:maven-plugin-api:jar:2.0.11:compile
[INFO] | +- org.apache.maven:maven-artifact:jar:2.0.11:compile
[INFO] | | \- (org.codehaus.plexus:plexus-utils:jar:1.5.6:compile - omitted for conflict with 3.0.10)
[INFO] | +- org.apache.maven:maven-project:jar:2.0.11:compile
[INFO] | | +- org.apache.maven:maven-settings:jar:2.0.11:compile
[INFO] | | | +- (org.apache.maven:maven-model:jar:2.0.11:compile - omitted for duplicate)
[INFO] | | | +- (org.codehaus.plexus:plexus-interpolation:jar:1.1:compile - omitted for duplicate)
[INFO] | | | +- (org.codehaus.plexus:plexus-utils:jar:1.5.6:compile - omitted for conflict with 3.0.10)
[INFO] | | | \- (org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile - omitted for duplicate)
[INFO] | | +- org.apache.maven:maven-profile:jar:2.0.11:compile
[INFO] | | | +- (org.apache.maven:maven-model:jar:2.0.11:compile - omitted for duplicate)
[INFO] | | | +- (org.codehaus.plexus:plexus-utils:jar:1.5.6:compile - omitted for conflict with 3.0.10)
[INFO] | | | \- (org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile - omitted for duplicate)
[INFO] | | +- org.apache.maven:maven-model:jar:2.0.11:compile
[INFO] | | | \- (org.codehaus.plexus:plexus-utils:jar:1.5.6:compile - omitted for conflict with 3.0.10)
[INFO] | | +- org.apache.maven:maven-artifact-manager:jar:2.0.11:compile
[INFO] | | | +- org.apache.maven:maven-repository-metadata:jar:2.0.11:compile
[INFO] | | | | \- (org.codehaus.plexus:plexus-utils:jar:1.5.6:compile - omitted for conflict with 3.0.10)
[INFO] | | | +- (org.codehaus.plexus:plexus-utils:jar:1.5.6:compile - omitted for conflict with 3.0.10)
[INFO] | | | +- (org.apache.maven:maven-artifact:jar:2.0.11:compile - omitted for duplicate)
[INFO] | | | +- (org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile - omitted for duplicate)
[INFO] | | | \- org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-2:compile
[INFO] | | | \- (org.codehaus.plexus:plexus-utils:jar:1.0.4:compile - omitted for conflict with 3.0.10)
[INFO] | | +- org.apache.maven:maven-plugin-registry:jar:2.0.11:compile
[INFO] | | | +- (org.codehaus.plexus:plexus-utils:jar:1.5.6:compile - omitted for conflict with 3.0.10)
[INFO] | | | \- (org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile - omitted for duplicate)
[INFO] | | +- org.codehaus.plexus:plexus-interpolation:jar:1.1:compile
[INFO] | | +- (org.codehaus.plexus:plexus-utils:jar:1.5.6:compile - omitted for conflict with 3.0.10)
[INFO] | | +- (org.apache.maven:maven-artifact:jar:2.0.11:compile - omitted for duplicate)
[INFO] | | \- org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile
[INFO] | | +- (junit:junit:jar:3.8.1:compile - omitted for conflict with 4.10)
[INFO] | | +- (org.codehaus.plexus:plexus-utils:jar:1.0.4:compile - omitted for conflict with 3.0.10)
[INFO] | | \- classworlds:classworlds:jar:1.1-alpha-2:compile
[INFO] | \- org.codehaus.plexus:plexus-archiver:jar:1.2:compile
[INFO] | +- (org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile - omitted for duplicate)
[INFO] | +- (org.codehaus.plexus:plexus-utils:jar:2.0.5:compile - omitted for conflict with 3.0.10)
[INFO] | \- org.codehaus.plexus:plexus-io:jar:1.0.1:compile
[INFO] | \- (org.codehaus.plexus:plexus-utils:jar:2.0.5:compile - omitted for conflict with 3.0.10)
[INFO] \- de.codecentric:jbehave-junit-runner:jar:1.0.1:compile
[INFO] +- junit:junit:jar:4.10:compile
[INFO] | \- (org.hamcrest:hamcrest-core:jar:1.1:compile - omitted for duplicate)
[INFO] \- org.mockito:mockito-core:jar:1.9.0:compile
[INFO] +- (org.hamcrest:hamcrest-core:jar:1.1:compile - omitted for duplicate)
[INFO] \- (org.objenesis:objenesis:jar:1.0:compile - omitted for conflict with 1.2)
有关根本问题是什么或如何解决它的任何想法?
—更新—
根据下面的对话,我在我的JBehave插件中添加了对log4j的依赖,问题得到解决:
<plugin>
<groupId>org.jbehave</groupId>
<artifactId>jbehave-maven-plugin</artifactId>
<version>${jbehave.version}</version>
<executions>
<execution>...</execution>
</executions>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<scope>compile</scope>
</dependency>
</dependencies>
</plugin>
最佳答案 我认为你们中的一个依赖项隐含地使用了以前版本的log4j,它不包括org.apache.log4j.Priority.运行mvn依赖:tree -Dverbose查看依赖树,然后排除旧的log4j版本.
更新:
根据给定的树,你的log4j依赖项有一个提供的范围:log4j:log4j:jar:1.2.16:提供,这意味着它在maven测试阶段不会被包含在类路径中.您可能希望在测试范围内明确提及pom中的log4j工件.
根据作者的评论,显式的log4j插件依赖已经解决了这个问题.