No, the error is: "Could not initialize class freemarker.ext.beans.BeansWrapper"

The problem is not that the class is not found, but that it's not able to initialise it due to static loading.

I know by experience that it can be due to classpath conflicts of log-related libraries, e.g. http://www.slf4j.org/codes.html#log4jDelegationLoop.

You need to get the bottom of the stack trace or debug it to see what the issue is.

If you provide a working maven project on Github that reproduced the issue, we can help.

On 20/08/2015 16:47, Thomas Norton wrote:
The error deals with freemarker classes not being found, despite the freemarker jar being in the dependency tree. The maven stack trace says nothing about SLF4J or other logging frameworks.

Tom
On Thursday, August 20, 2015 at 10:40:03 AM UTC-4, mauro.talevi wrote:

    This is typically due to some static loading issue with some
    logging library.

    You should check for the root cause and verify if it's one of these:

    http://www.slf4j.org/codes.html <http://www.slf4j.org/codes.html>

    You should try to inspect the maven dependency tree to see what
    gets resolved to the classpath.

    On 20/08/2015 14:39, Thomas Norton wrote:
    I get the following error when I run /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

    When I run /mvn dependency:tree -pl com.example.mymodule | grep
    freemarker/

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

    I used /javap/ to confirm that the class
    /freemarker.ext.beans.BeansWrapper/ exists in this jar:

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

    Here's the relevant portion of my depdendencies from my 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>

    Here's my plugin section:

    <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>
    I tried this with versions 3.9.5 and 4.0.3, but I get the same
    error with both versions.
-- You received this message because you are subscribed to the
    Google Groups "JBehave User" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to jbehave-user...@googlegroups.com <javascript:>.
    To post to this group, send email to jbehav...@googlegroups.com
    <javascript:>.
    To view this discussion on the web, visit
    
https://groups.google.com/d/msgid/jbehave-user/81004452-fcc9-4b18-a7c1-8cbadf4733f3%40googlegroups.com
    
<https://groups.google.com/d/msgid/jbehave-user/81004452-fcc9-4b18-a7c1-8cbadf4733f3%40googlegroups.com>.
    For more options, visit https://groups.google.com/d/optout
    <https://groups.google.com/d/optout>.

--
You received this message because you are subscribed to the Google Groups "JBehave User" group. To unsubscribe from this group and stop receiving emails from it, send an email to jbehave-user+unsubscr...@googlegroups.com <mailto:jbehave-user+unsubscr...@googlegroups.com>. To post to this group, send email to jbehave-user@googlegroups.com <mailto:jbehave-user@googlegroups.com>. To view this discussion on the web, visit https://groups.google.com/d/msgid/jbehave-user/ac6d2b1b-2a6c-482f-a221-9f70665e00b3%40googlegroups.com <https://groups.google.com/d/msgid/jbehave-user/ac6d2b1b-2a6c-482f-a221-9f70665e00b3%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "JBehave 
User" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jbehave-user+unsubscr...@googlegroups.com.
To post to this group, send an email to jbehave-user@googlegroups.com.
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/jbehave-user/55D5F929.1020004%40aquilonia.org.
For more options, visit https://groups.google.com/d/optout.

Reply via email to