是什么导致了这个 Maven/JBehave 错误?

2024-01-07

我有一个生成 Mule 连接器的 Maven 项目。它基本上是一个 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 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 dependency:tree -Dverbose查看依赖关系树,然后排除旧的 log4j 版本。

更新: 根据给定的树,您的 log4j 依赖项具有提供的范围:log4j:log4j:jar:1.2.16:provided,这意味着在 Maven 测试阶段它不会被包含到类路径中。您可能希望在 pom 中使用测试范围明确提及 log4j 工件。

根据作者评论,显式log4jplugin依赖已经解决了这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是什么导致了这个 Maven/JBehave 错误? 的相关文章

  • 策略模式还是命令模式?

    假设我有一个金融交易列表 我需要针对这些交易执行一系列验证规则 一个例子是我有一笔购买产品的交易 但是首先我需要验证交易中的帐户是否有足够的可用资金 产品没有售完等 由于这些规则 交易将是标记为拒绝 并应指定错误代码 当然 我正在考虑用一个
  • 使类只能从特定类实例化

    假设我有 3 节课class1 class2 and class3 我怎样才能拥有它class1只能通过实例化class2 class1 object new class1 但不是 class3 或任何其他类 我认为它应该与修饰符一起使用
  • 如何正确使用“mvn release:prepare”?

    我尝试了这个命令 用dryrun在我的 Maven 项目上进行测试 mvn release clean release prepare DdryRun true DgenerateBackupPoms false Dtag solocal
  • 在哪里保存选项值、重要文件的路径等[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在创建一个程序 需要设置一些选项值以及图像文件的一些路径 SQLite 数据库的路径 有关各种按钮上文本的一些信息 有关要使用哪个数据库的信
  • 记录共享和映射的诊断上下文

    据我所知 其他人做了什么来解决 Commons Logging 项目 针对 NET 和 Java 不支持映射或嵌套诊断上下文这一事实 执行摘要 我们选择直接使用实现者日志框架 在我们的例子中为 log4j 长答案 您是否需要一个抽象日志框架
  • 在java中将字符串日期转换为美国格式

    我有下面的代码 其中日期为字符串类型 我必须将其设置为美国格式 所以下面我已经展示了它 private static final SimpleDateFormat usOutputDate new SimpleDateFormat MM d
  • 确定序列化对象的类型

    我需要通过套接字发送消息 从用户到引擎的请求 以及从引擎到用户的响应 所以流程本质上是 serialized request Server lt network gt Client serialized response request r
  • 如何将 Java 地图转换为在 Scala 中使用?

    我正在开发一个 Scala 程序 该程序调用 Java 库中的函数 处理结果并生成 CSV 有问题的 Java 函数如下所示 Map
  • 如何在 JPA 和 Hibernate 中将数据库生成的列值定义为只读字段?

    使用 MariaDB 10 2 可以定义日期时间的默认值 例如创建和最后修改 我应该如何将此列作为只读字段访问 因为这个值应该只在数据库的控制之下 并且不应该从代码中修改 但我想在代码中读取这个属性 这很简单 只需设置insertable
  • 用于层次结构树角色的 Spring Security / Java EE 解决方案

    我知道 Spring Security 非常适合标准角色和基于权限的授权 我不确定的是这种情况 系统中管理着 10 000 名员工 员工被组织成组织结构图 跨部门的谁向谁报告的树 其中一些员工是用户 这些用户仅被允许访问其职责范围内的员工
  • 正确签名的 JNLP 应用程序无法在 Java 7 中运行

    我有一个 JNLP 应用程序 由于证书过期需要更新 我有一个经过 CA 验证的新证书 我已将新证书导入到我的密钥库中 我已导入完整的证书链 我的构建文件对构建中的 jar 进行签名和时间戳
  • 在 java 中运行外部应用程序但不要等待它完成

    我正在用java编写一个应用程序 允许我运行其他应用程序 为此 我使用了 Process 类对象 但当我这样做时 应用程序会等待进程结束 然后再退出 有没有办法在 Java 中运行外部应用程序 但不等待它完成 public static v
  • 为什么无法从 WEB-INF 文件夹内加载 POSModel 文件?

    我在我的 Web 项目中使用 Spring MVC 我将模型文件放在 WEB INF 目录中 String taggerModelPath WEB INF lib en pos maxent bin String chunkerModelP
  • 如何在不反编译的情况下更改已编译的.class文件?

    我想更改 class 文件方法 我安装 JD Eclipse Decompiler 并打开 class 文件 我添加了一些代码并保存 class 文件 但是 class 文件没有改变 我不知道如何使用反编译器 如果可能的话 如何在不使用反编
  • Java 中 JButton 的击键/热键

    最初我使用 JMenu 并建立热键以使用加速器工作 它运行得很好 现在我想在 JButton 中实现相同的行为 但我陷入困境 这是我编写的代码 请分享您的想法 以便我可以走上正确的道路 import javax swing import j
  • 删除 JFX 中选项卡后面的灰色背景

    So is there any way to remove the gray area behind the tab s 我尝试过用 CSS 来做到这一点 但没有找到方法 要设置 tabpane 标题的背景颜色 请在 CSS 文件中写入 t
  • java中使用多线程调用同一类的不同方法

    我有一个类 如下所示 具有三种方法 public class MyRunnable implements Runnable Override public void run what code need to write here to c
  • Android UnityPlayerActivity 操作栏

    我正在构建一个 Android 应用程序 其中包含 Unity 3d 交互体验 我已将 Unity 项目导入 Android Studio 但启动时该 Activity 是全屏的 并且不显示 Android 操作栏 我怎样才能做到这一点 整
  • 使用 PC/SC 读卡器验证 Ultralight EV1

    我在尝试使用 Java 中的 PC SC 读卡器 特别是 ACR1222L 验证 Ultralight EV1 卡时遇到问题 我能够使用 ISO 14443 3 标签的相应 APDU 在不受保护的标签上进行写入和读取 但是 我找不到运行 P
  • java中void的作用是什么?

    返回类型 方法返回值的数据类型 如果方法不返回值 则返回 void http download oracle com javase tutorial java javaOO methods html http download oracle

随机推荐

  • PDF 文本提取问题 - 字体/大写不一致

    我正在尝试从 pdf 书中提取文本 并继续遇到一个问题 即复制的文本部分在粘贴到文本文档中时无法保留正确的大写属性 我有权复制这本书 也有使用所有必要字体的许可 起初我认为问题是由未嵌入字体引起的 但我检查后发现所有字体似乎都是嵌入的子集
  • NSCache 在两次启动之间是否持续存在?

    我正在研究一种相当简单的缓存机制 目前正在使用 NSCache 出于内存管理的原因 问题是 缓存在两次启动之间是否持续存在 对我来说似乎没有 我将对象很好地放入缓存中 并且可以在应用程序运行时将它们从缓存中取出 没有问题 但是一旦我重新启动
  • 将 HTML 表格行包裹在 标记中

    是否可以将整个表行包装在 a 标签 我希望整行都是可点击的链接 如果我尝试以下操作 链接将呈现在表格上方和外部 This table a href value url tr td value td td value td tr a a hr
  • 如何使用 PHP IMAP 函数从 CPanel Webmail 获取收件箱消息

    我正在我的 cpanel webmail roundcube squirrelmail 中集成未读邮件的自动回复邮件 请参阅下面的我的代码 问题是我面临 imap open 函数无法连接 它的加载无法通过任何错误 异常 但仍在加载 有谁指导
  • firebase存储和数据库规则通信

    我需要在数据库和存储中存储某些变量 但重要的是要确保该变量将保存在两个数据库中 而不仅仅是一个数据库中 此外 该变量必须具有相同的值 但我发现存储和数据库没有进行通信 我该如何解决 简而言之 目前 一项服务的安全规则无法访问另一项服务的数据
  • 如何将支持标准可观测性协议的中间件快速接入观测

    前言 作为一名云原生工程师 如何将支持标准可观测性协议的中间件快速接入观测云呢 答案是只需要三步 首先 需要确定您要观测的中间件类型 支持标准可观测性协议中间件可通过观测云的 DataKit 采集到中间件的关键指标 有些中间件自带可观测 会
  • 题解 | #整型数组合并# 输入时直接放进一个vector

    京东面经总结 社招4年java面经 华为oc后不给发意向 华为oc后不给发意向 为后续的秋招er避雷 YY前端一面 40min 华为上海青浦研究所现状 得物困于潮流得物困于潮流 华为上海13级值不值得去 女生真的不适合互联网技术岗吗 美团一
  • 字节跳动-C++数据库开发实习-bytehouse面经

    各位友友们 可以看看这俩个岗位怎么选吗 大佬们可以给看看我的个人经历和简历 给一些建议吗 本人今年研二 想找嵌入式方向的工作 从今年上半年开 学姐你看我这份简历投腾讯运营有戏吗 中广核 财务岗 秋招面经分享 华子开了13 但hr说试用期结束
  • 图神经网络与智能化创作艺术:开启艺术的智能时代

    导言 图神经网络 GNNs 与智能化创作艺术的结合为艺术领域带来了新的可能性 本文深入研究二者的结合方向 包括各自的侧重点 当前研究动态 技术运用 实际场景 未来展望 并提供相关链接 1 图神经网络与智能化创作艺术的结合方向 1 1 图神经
  • 猫头虎博主的MySQL救援指南:轻松解决初始化问题(nysqld: Can create directort :mysgl mysg! 9-winx64 data errno such file o)

    博主猫头虎的技术世界 欢迎来到 猫头虎的博客 探索技术的无限可能 专栏链接 精选专栏 面试题大全 面试准备的宝典 IDEA开发秘籍 提升你的IDEA技能 100天精通Golang Go语言学习之旅 领域矩阵 猫头虎技术领域矩阵 深入探索各技
  • LIDAR激光雷达反射板

    LIDAR Light Detection And Ranging 系统是一种集激光 全球定位系统 GPS 和惯性导航系统 INS 三种技术于一身的系统 用于获得点云数据并生成精确的数字化三维模型 LIDAR系统包括一个单束窄带激光器和一个
  • BEV+Transformer感知架构共识下,传感器「火药味」再升级

    高阶智能驾驶战火愈演愈烈 正带动感知方案卷入新一轮军备竞赛 根据高工智能汽车研究院最新发布数据显示 2023年1 9月 中国市场 不含进出口 乘用车前装标配 软硬件 NOA交付新车37 73万辆 同比上年同期增长151 20 未来几年内 N
  • 智能座舱的下一个价值“爆点”——让“光”更智能

    汽车智能化快速升级 智能座舱作为人机交互的主要窗口 交互模态 用户体验也呈现多维度升级 例如 今年下半年上市的多款高端智能车型纷纷基于高性能座舱硬件平台 集成了AR HUD DMS OMS等高阶功能 同时结合超大屏 多屏联动 联动舱内氛围灯
  • HttpRunner(20):脚手架工具使用(一键搭建)-httprunner运行方式

    脚手架工具使用 每一个成熟的系统工具 都会有对应的脚手架工具 它可以快速构建项目的必要目录 不必自己一个一个的配置与搭建 只需要执行一些命令即可 httprunner也提供了脚手架工具 使用步骤如下 1 在命令模式下输入hrun start
  • MINI-UTDE 10 BASE-T 集成控制器

    MINI UTDE 10 BASE T 集成控制器 MINI UTDE 10 BASE T 拥有多达三个本地I O板和远程I OS总线通信 为用户提供了一系列生产单元功能的单一控制点 包括诸如夹头 反馈器和辅助机器等外围生产设备 支持所有主
  • 图神经网络与智能教育:创新教育技术的未来

    导言 图神经网络 GNNs 和智能教育技术的结合为教育领域注入新活力 本文深入研究二者的结合可能性 涉及各自侧重 当前研究动态 技术运用 实际场景 未来展望 并提供相关链接 1 图神经网络与智能教育的结合方向 1 1 图神经网络在教育技术中
  • 为什么我的图像在横向模式下消失?

    我有一张纵向模式的图像 可以正确显示 当我将配置更改为横向时 不显示图像 请注意 LinearLayout 包含ImageView显示正确 我通过更改背景进行检查 但是当我改变背景时ImageView 背景也没有显示
  • 在 VBA 中使用 filesavename 后无法在 Excel 中保存文件

    所以我在工作中使用了我不久前制作的VBA 它曾经工作得很好 但截至今天 它在打开 另存为 窗口后将不会保存我的文件 它只是转到给定的 MsgBox 最初的问题是 LDate Date 不知何故开始返回带有正斜杠的日期 我通过添加 LDate
  • 如果我在 Ruby on Rails 中有一个哈希值,有没有办法让它不影响访问?

    如果我已经有一个哈希值 我可以这样做吗 h foo h foo 是相同的 这就是所谓的无差别访问吗 详细信息 我使用以下内容加载了此哈希initializers但可能不会有什么不同 SETTINGS YAML load file RAILS
  • 是什么导致了这个 Maven/JBehave 错误?

    我有一个生成 Mule 连接器的 Maven 项目 它基本上是一个 shell 因此我开始使用 JBehave 添加一些 BDD 测试 我添加的第一个测试作用很小 public class FakeSteps extends Embedde