Hi Brian,
the upcoming releases will be JDK 8 compatible.
https://jira.codehaus.org/browse/JBEHAVE-1066
Cheers, M
On 13/05/2015 18:38, Brian Jordan wrote:
Hi,
We have a walking skeleton using Jbehave, Spring4, and Java 1.8. We
had to modify the Spring release to 4.1.1.RELEASE in jbehave-spring as
opposed to Spring 3.1.1.RELEASE in order to compile with Java 1.8.
The readme states Jbehave works with 1.7+ so we wanted you to be
aware of this issue.
Below is the maven dependency tree info:
[INFO] +- org.jbehave:jbehave-spring:jar:4.0-beta-11:compile
[INFO] | +- org.springframework:spring-context:jar:3.1.1.RELEASE:compile
We get an error from Spring context because of the changes to handling
casting arrays in Java 1.8. Below is the stacktrace:
2015-05-13 12:28:22.827:INFO:/:main: Initializing Spring root
WebApplicationContext
12:28:23 [main] ERROR o.s.w.c.ContextLoader - Context initialization
failed
java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to
java.lang.String
at
org.springframework.context.annotation.AnnotationBeanNameGenerator.determineBeanNameFromAnnotation(AnnotationBeanNameGenerator.java:91)
~[spring-context-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at
org.springframework.context.annotation.AnnotationBeanNameGenerator.generateBeanName(AnnotationBeanNameGenerator.java:69)
~[spring-context-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at
org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:246)
~[spring-context-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at
org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentScanBeanDefinitionParser.java:84)
~[spring-context-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at
org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:74)
~[spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1427)
~[spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1417)
~[spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:174)
~[spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:144)
~[spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:100)
~[spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:510)
~[spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:392)
~[spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE]
... 64 common frames omitted
Wrapped by:
org.springframework.beans.factory.BeanDefinitionStoreException:
Unexpected exception parsing XML document from URL
[jar:file:/Users/brianjordan/.m2/repository/org/resthub/resthub-jpa/2.2.0/resthub-jpa-2.2.0.jar!/resthubContext.xml];
nested exception is java.lang.ClassCastException: [Ljava.lang.String;
cannot be cast to java.lang.String
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:414)
~[spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
~[spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
~[spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
~[spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:216)
~[spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:187)
~[spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
~[spring-web-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
~[spring-web-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131)
~[spring-context-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at
org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:522)
~[spring-context-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:436)
~[spring-context-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at
org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
~[spring-web-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
~[spring-web-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
[spring-web-4.1.1.RELEASE.jar:4.1.1.RELEASE]
at
org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:798)
[jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444)
[jetty-servlet-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:789)
[jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294)
[jetty-servlet-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1341)
[jetty-webapp-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp(JettyWebAppContext.java:296)
[jetty-maven-plugin-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1334)
[jetty-webapp-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
[jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:497)
[jetty-webapp-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:365)
[jetty-maven-plugin-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
[jetty-util-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
[jetty-util-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
[jetty-util-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
[jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:163)
[jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
[jetty-util-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
[jetty-util-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
[jetty-util-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
[jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
[jetty-util-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
[jetty-util-9.2.2.v20140723.jar:9.2.2.v20140723]
at org.eclipse.jetty.server.Server.start(Server.java:380)
[jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
[jetty-util-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
[jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
at org.eclipse.jetty.server.Server.doStart(Server.java:347)
[jetty-server-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.maven.plugin.JettyServer.doStart(JettyServer.java:76) [jetty-maven-plugin-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
[jetty-util-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:543)
[jetty-maven-plugin-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:360)
[jetty-maven-plugin-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.eclipse.jetty.maven.plugin.JettyRunMojo.execute(JettyRunMojo.java:167)
[jetty-maven-plugin-9.2.2.v20140723.jar:9.2.2.v20140723]
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
[maven-core-3.2.1.jar:3.2.1]
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
[maven-core-3.2.1.jar:3.2.1]
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
[maven-core-3.2.1.jar:3.2.1]
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
[maven-core-3.2.1.jar:3.2.1]
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
[maven-core-3.2.1.jar:3.2.1]
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
[maven-core-3.2.1.jar:3.2.1]
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
[maven-core-3.2.1.jar:3.2.1]
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
[maven-core-3.2.1.jar:3.2.1]
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
[maven-core-3.2.1.jar:3.2.1]
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
[maven-core-3.2.1.jar:3.2.1]
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
[maven-embedder-3.2.1.jar:3.2.1]
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
[maven-embedder-3.2.1.jar:3.2.1]
at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
[maven-embedder-3.2.1.jar:3.2.1]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[na:1.8.0_25]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[na:1.8.0_25]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.8.0_25]
at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_25]
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
[plexus-classworlds-2.5.1.jar:na]
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
[plexus-classworlds-2.5.1.jar:na]
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
[plexus-classworlds-2.5.1.jar:na]
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
[plexus-classworlds-2.5.1.jar:na]
Thank you,
/Brian/
Brian Jordan
Senior Architect and Software Engineer