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.
>

Reply via email to