Hi 2016-02-29 15:54 GMT+01:00 ChrisD <[email protected]>:
> Hi, > > The new TomEE (Apache Tomcat (TomEE)/8.0.32 (7.0.0-M2)) seems to have > introduced Java8 as a requirement. Is this intentional/known about? > > Not intentional > The M1 release runs fine against Java7 for me but when trying to run the M2 > release it complains about a java.lang.NoClassDefFoundError for > java/lang/reflect/Executable. > > It looks like the newer bval 1.1.1 jars introduce a dependence on Java8. > > Checked the bytecode and didn't find it > I switched bval-core-1.1.1.jar and bval-jsr-1.1.1.jar for the 1.1.0 > versions > and it then started up against Java7. The startup time was 10x worse using > the 1.1.0 jars so I'm guessing the changes might have involved improving > the > performance. > > Yep was the main change in bval > It would be good to know if TomEE7 will require upgrading to Java8 or not > (something that's not an option for my company currently due to our > dependence on a specific version of Terracotta.) > > Thanks, > Chris. > > ps. > Here's a couple of snippets from the logs for the NoClassDefFoundError in > case they are of any use: > INFO - Server version: Apache Tomcat (TomEE)/8.0.32 (7.0.0-M2) > INFO - Server built: Feb 2 2016 19:34:53 UTC > INFO - Server number: 8.0.32.0 > INFO - OS Name: Linux > INFO - OS Version: 3.10.0-327.10.1.el7.x86_64 > INFO - Architecture: amd64 > INFO - Java Home: /usr/local/jdk1.7.0_67/jre > INFO - JVM Version: 1.7.0_67-b01 > INFO - JVM Vendor: Oracle Corporation > INFO - CATALINA_BASE: /tmp/apache-tomee-plus-7.0.0-M2 > INFO - CATALINA_HOME: /tmp/apache-tomee-plus-7.0.0-M2 > > ... > > INFO - Assembling app: /tmp/apache-tomee-plus-7.0.0-M2/webapps/ROOT > INFO - Undeploying app: /tmp/apache-tomee-plus-7.0.0-M2/webapps/ROOT > SEVERE - ContainerBase.removeChild: destroy: > org.apache.catalina.LifecycleException: An invalid Lifecycle transition was > attempted ([before_destroy]) for component > [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]] in > state [STARTING_PREP] > at > > org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:401) > at > org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:291) > at > org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:840) > at > > org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1565) > at > > org.apache.tomee.catalina.TomcatWebAppBuilder.undeploy(TomcatWebAppBuilder.java:1545) > at > > org.apache.tomee.catalina.TomcatWebAppBuilder.undeployWebApps(TomcatWebAppBuilder.java:750) > at > > org.apache.openejb.assembler.classic.Assembler.destroyApplication(Assembler.java:2144) > at > > org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:1019) > at > > org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:694) > at > > org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1236) > at > > org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1094) > at > > org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:133) > at > > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95) > at > > org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) > at > > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154) > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) > at > > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) > at > > org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1091) > at > > org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1830) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > SEVERE - Unable to deploy collapsed ear in war > StandardEngine[Catalina].StandardHost[localhost].StandardContext[] > org.apache.openejb.OpenEJBException: Creating application failed: > /tmp/apache-tomee-plus-7.0.0-M2/webapps/ROOT: java/lang/reflect/Executable > at > > org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:1023) > at > > org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:694) > at > > org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1236) > at > > org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1094) > at > > org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:133) > at > > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95) > at > > org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) > at > > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154) > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) > at > > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) > at > > org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1091) > at > > org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1830) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.NoClassDefFoundError: java/lang/reflect/Executable > at > > org.apache.bval.jsr.ApacheFactoryContext.getValidator(ApacheFactoryContext.java:128) > at > > org.apache.openejb.assembler.classic.LazyValidator.ensureDelegate(LazyValidator.java:55) > at > > org.apache.openejb.assembler.classic.LazyValidator.getValidator(LazyValidator.java:64) > at > > org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:915) > ... 18 more > Caused by: java.lang.ClassNotFoundException: java.lang.reflect.Executable > at java.net.URLClassLoader$1.run(URLClassLoader.java:366) > at java.net.URLClassLoader$1.run(URLClassLoader.java:355) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:354) > at java.lang.ClassLoader.loadClass(ClassLoader.java:425) > at java.lang.ClassLoader.loadClass(ClassLoader.java:358) > ... 22 more > > > > Seems that built with java 8 we got inserted: 1310 #1301 = Utf8 java/lang/reflect/Executable 1311 #1302 = Class #1301 // java/lang/reflect/Executable inserted in the bytecode which doesnt bring much but prevent the execution on java 7. Should be fix when upgrading to bval 1.1.2. > > -- > View this message in context: > http://tomee-openejb.979440.n4.nabble.com/TomEE-7-0-0-M2-requires-Java8-tp4677719.html > Sent from the TomEE Users mailing list archive at Nabble.com. >
