1

を実行すると、次のエラーが表示されますmvn integration-test -e com.example.mymodule

[ERROR] Failed to execute goal org.jbehave:jbehave-maven-plugin:3.9.5:run-stories-as-embeddables (embeddable-stories) on project com.example.mymodule: Failed to run stories as embeddables: Failure in running embeddable: com.example.mymodule.TheStories: Could not initialize class freemarker.ext.beans.BeansWrapper -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.jbehave:jbehave-maven-plugin:3.9.5:run-stories-as-embeddables (embeddable-stories) on project com.example.mymodule: Failed to run stories as embeddables
    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:108)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
    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:213)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
    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: 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:133)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    ... 19 more
Caused by: org.jbehave.core.embedder.Embedder$RunningEmbeddablesFailed: Failure in running embeddable: com.example.mymodule.TheStories
    at org.jbehave.core.embedder.Embedder.runAsEmbeddables(Embedder.java:130)
    at org.jbehave.mojo.RunStoriesAsEmbeddables.execute(RunStoriesAsEmbeddables.java:18)
    ... 21 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class freemarker.ext.beans.BeansWrapper
    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:267)
    at org.jbehave.core.reporters.TemplateableViewGenerator.createReports(TemplateableViewGenerator.java:219)
    at org.jbehave.core.reporters.TemplateableViewGenerator.generateReportsView(TemplateableViewGenerator.java:110)
    at org.jbehave.core.embedder.Embedder.generateReportsView(Embedder.java:249)
    at org.jbehave.core.embedder.Embedder.generateReportsView(Embedder.java:237)
    at org.jbehave.core.embedder.Embedder.runStoriesAsPaths(Embedder.java:213)
    at org.jbehave.core.junit.JUnitStories.run(JUnitStories.java:20)
    at org.jbehave.core.embedder.Embedder.runAsEmbeddables(Embedder.java:121)
    ... 22 more

私が走るとき、私mvn dependency:tree -pl com.example.mymodule | grep freemarkerは得る

[INFO] |  +- org.freemarker:freemarker:jar:2.3.19:compile

クラスがこのjarに存在することjavapを確認していました:freemarker.ext.beans.BeansWrapper

javap -classpath C:\Users\CONOR2\.m2\repository\org\freemarker\freemarker\2.3.19\freemarker-2.3.19.jar freemarker.ext.beans.BeansWrapper

これが、私の pom.xml からの依存関係の関連部分です。

<dependency>
    <groupId>org.jbehave</groupId>
    <artifactId>jbehave-core</artifactId>
    <version>3.9.5</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.jbehave</groupId>
    <artifactId>jbehave-core</artifactId>
    <version>3.9.5</version>
    <classifier>resources</classifier>
    <type>zip</type>
</dependency>
<dependency>
    <groupId>org.jbehave.site</groupId>
    <artifactId>jbehave-site-resources</artifactId>
    <version>3.2</version>
    <type>zip</type>
</dependency>

これが私のプラグインセクションです:

<plugin>
    <groupId>org.jbehave</groupId>
    <artifactId>jbehave-maven-plugin</artifactId>
    <version>3.9.5</version>
    <executions>
        <execution>
            <id>unpack-view-resources</id>
            <phase>process-resources</phase>
            <goals>
                <goal>unpack-view-resources</goal>
            </goals>
        </execution>
        <execution>
            <id>embeddable-stories</id>
            <phase>integration-test</phase>
            <configuration>
                <includes>
                    <include>com/example/mymodule/TheStories.java</include>
                </includes>
                <excludes />
                <ignoreFailureInStories>true</ignoreFailureInStories>
                <ignoreFailureInView>false</ignoreFailureInView>
                <scope>test</scope>
                <threads>1</threads>
                <metaFilters>
                    <metaFilter></metaFilter>
                </metaFilters>
            </configuration>
            <goals>
                <goal>run-stories-as-embeddables</goal>
            </goals>
        </execution>
    </executions>
</plugin>

バージョン 3.9.5 と 4.0.3 でこれを試しましたが、両方のバージョンで同じエラーが発生します。

4

1 に答える 1

0

jbehave-maven-plugin が log4j で問題を抱えていたことが判明しました。プラグインの依存関係として log4j:log4j と org.slf4j:slf4j-log4j を追加すると、問題が修正されました。

于 2015-09-04T13:00:19.937 に答える