Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 3099E200BD8 for ; Tue, 1 Nov 2016 11:22:02 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 2F703160B02; Tue, 1 Nov 2016 10:22:02 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 4B3A9160AE5 for ; Tue, 1 Nov 2016 11:22:01 +0100 (CET) Received: (qmail 6365 invoked by uid 500); 1 Nov 2016 10:22:00 -0000 Mailing-List: contact issues-help@struts.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@struts.apache.org Delivered-To: mailing list issues@struts.apache.org Received: (qmail 6052 invoked by uid 99); 1 Nov 2016 10:21:59 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Nov 2016 10:21:59 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id AE8272C1F54 for ; Tue, 1 Nov 2016 10:21:59 +0000 (UTC) Date: Tue, 1 Nov 2016 10:21:59 +0000 (UTC) From: "Lukasz Lenart (JIRA)" To: issues@struts.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (WW-4706) Struts2.2 with jdk9 throws exceptions MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Tue, 01 Nov 2016 10:22:02 -0000 [ https://issues.apache.org/jira/browse/WW-4706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15625030#comment-15625030 ] Lukasz Lenart commented on WW-4706: ----------------------------------- You are missing Javassist dependency, it wasn't included by default in Struts 2.2.1 https://struts.apache.org/docs/version-notes-221.html as from Struts 2.2.3 it was back https://struts.apache.org/docs/version-notes-223.html > Struts2.2 with jdk9 throws exceptions > ------------------------------------- > > Key: WW-4706 > URL: https://issues.apache.org/jira/browse/WW-4706 > Project: Struts 2 > Issue Type: Bug > Components: Core > Affects Versions: 2.2.1 > Reporter: Liang ZHANG > Fix For: 2.2.3 > > Attachments: Struts2Example.war, struts2example.zip > > > The test case struts2example.war use struts-core 2.2.1 and xwork2.2.1. It > works with jdk8 & struts 2.2.1. But when we build the war with jdk9 and deploy the war to tomcat9 or jetty9.3 with JAVA_HOME={jdk9_b141_home}. The deployment got exceptions: > 1) JDK9_b141 tomcat9: > {noformat} > 01-Nov-2016 11:21:38.641 SEVERE [http-nio-8080-exec-6] com.opensymphony.xwork2.util.logging.jdk.JdkLogger.error Dispatcher initialization failed > java.lang.RuntimeException: java.lang.reflect.InvocationTargetException > at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:295) > at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:431) > at com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:207) > at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51) > at com.opensymphony.xwork2.inject.ContainerBuilder$3.create(ContainerBuilder.java:93) > at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:487) > at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:484) > at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:574) > at com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:484) > at com.opensymphony.xwork2.config.impl.DefaultConfiguration.createBootstrapContainer(DefaultConfiguration.java:252) > at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:193) > at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66) > at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371) > at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415) > at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69) > at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51) > at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279) > at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260) > at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:105) > at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4579) > at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5225) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152) > at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1316) > at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:669) > at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:217) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:232) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) > at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:136) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) > at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) > at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) > at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) > at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:105) > at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:618) > at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) > at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) > at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) > at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:1078) > at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) > at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:760) > at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1524) > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:483) > at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:293) > ... 53 more > Caused by: java.lang.ExceptionInInitializerError > at com.opensymphony.xwork2.ognl.OgnlValueStackFactory.setContainer(OgnlValueStackFactory.java:85) > ... 58 more > Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency! > at ognl.OgnlRuntime.(OgnlRuntime.java:165) > ... 59 more > Caused by: java.lang.ClassNotFoundException: javassist.ClassPool > at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1311) > at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1145) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:259) > at ognl.OgnlRuntime.(OgnlRuntime.java:162) > ... 59 more > 2) JDK9_b141 jetty9.3: > java.lang.RuntimeException: Error scanning file WelcomeUserAction.class > at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:722) > at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:699) > at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:699) > at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:699) > at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:844) > at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:163) > at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:546) > at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) > at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) > at java.lang.Thread.run(java.base@9-ea/Thread.java:843) > Caused by: > java.lang.IllegalArgumentException > at org.objectweb.asm.ClassReader.(Unknown Source) > at org.objectweb.asm.ClassReader.(Unknown Source) > at org.objectweb.asm.ClassReader.(Unknown Source) > at org.eclipse.jetty.annotations.AnnotationParser.scanClass(AnnotationParser.java:977) > at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:715) > at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:699) > at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:699) > at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:699) > at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:844) > at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:163) > at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:546) > at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) > at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) > at java.lang.Thread.run(java.base@9-ea/Thread.java:843) > 2016-11-01 14:43:34.790:INFO:oejs.AbstractConnector:main: Started ServerConnector@7b993c65{HTTP/1.1,[http/1.1]}{0.0.0.0:8080} > 2016-11-01 14:43:34.791:INFO:oejs.Server:main: Started @1953ms > {noformat} > It looks like the asm boundle with struts 2.2.1 does not support jdk9. Is this true? I replaced the libs of the struts2.2.1 jars with struts2.3.31 jars. The tomcat9 and jetty9.3 still throw exception. > Could you confirm is struts2 support jdk9? If not, which version of struts support jdk9? -- This message was sent by Atlassian JIRA (v6.3.4#6332)