Steps to Reproduce
run a zul page using ZEL on wildfly 13 with JDK 10
Current Result
org.zkoss.zel.ELException: The package [java.lang] could not be found at deployment.Tradeswitch.ear//org.zkoss.zel.ImportHandler.importPackage(ImportHandler.java:154) at deployment.Tradeswitch.ear//org.zkoss.zel.ImportHandler.<init>(ImportHandler.java:43) at deployment.Tradeswitch.ear//org.zkoss.zel.ImportHandler.<init>(ImportHandler.java:33) at deployment.Tradeswitch.ear//org.zkoss.zel.ImportHandler$SingletonHolder.<clinit>(ImportHandler.java:39) at deployment.Tradeswitch.ear//org.zkoss.zel.ImportHandler.getImportHandler(ImportHandler.java:47) at deployment.Tradeswitch.ear//org.zkoss.zel.ELContext.getImportHandler(ELContext.java:122) at deployment.Tradeswitch.ear//org.zkoss.zel.impl.lang.EvaluationContext.getImportHandler(EvaluationContext.java:105) at deployment.Tradeswitch.ear//org.zkoss.zel.impl.parser.AstIdentifier.getValue(AstIdentifier.java:89) at deployment.Tradeswitch.ear//org.zkoss.zel.impl.parser.AstValue.getValue(AstValue.java:148) at deployment.Tradeswitch.ear//org.zkoss.zel.impl.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184) at deployment.Tradeswitch.ear//org.zkoss.zkmax.bind.impl.ValueExpressionImplEx.getValue(ValueExpressionImplEx.java:52) at deployment.Tradeswitch.ear//org.zkoss.xel.zel.ELXelExpression.evaluate(ELXelExpression.java:41) at deployment.Tradeswitch.ear//org.zkoss.zkmax.bind.impl.BindEvaluatorXImplEx$LazyBindXelExpression.evaluate(BindEvaluatorXImplEx.java:124) at deployment.Tradeswitch.ear//org.zkoss.bind.impl.BindEvaluatorXImpl.getValue(BindEvaluatorXImpl.java:46) at deployment.Tradeswitch.ear//org.zkoss.bind.impl.BindEvaluatorXUtil.evalArgs(BindEvaluatorXUtil.java:62) at deployment.Tradeswitch.ear//org.zkoss.bind.impl.BindEvaluatorXUtil.evalArgs(BindEvaluatorXUtil.java:39) at deployment.Tradeswitch.ear//org.zkoss.bind.impl.BindContextUtil.setBindingArgs(BindContextUtil.java:48) at deployment.Tradeswitch.ear//org.zkoss.bind.impl.BindContextUtil.newBindContext(BindContextUtil.java:37) at deployment.Tradeswitch.ear//org.zkoss.bind.impl.BinderImpl.doCommand(BinderImpl.java:1730) at deployment.Tradeswitch.ear//org.zkoss.bind.impl.BinderImpl.access$1300(BinderImpl.java:132) at deployment.Tradeswitch.ear//org.zkoss.bind.impl.BinderImpl$CommandEventListener.onEvent0(BinderImpl.java:1605) at deployment.Tradeswitch.ear//org.zkoss.bind.impl.BinderImpl$CommandEventListener.onEvent(BinderImpl.java:1558) at deployment.Tradeswitch.ear//org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:3168) at deployment.Tradeswitch.ear//org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3138) at deployment.Tradeswitch.ear//org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3080) at deployment.Tradeswitch.ear//org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:138) at deployment.Tradeswitch.ear//org.zkoss.zk.ui.impl.UiEngineImpl.processEvent(UiEngineImpl.java:1846) at deployment.Tradeswitch.ear//org.zkoss.zk.ui.impl.UiEngineImpl.process(UiEngineImpl.java:1618) at deployment.Tradeswitch.ear//org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1321) at deployment.Tradeswitch.ear//org.zkoss.zk.au.http.DHtmlUpdateServlet.process(DHtmlUpdateServlet.java:611) at deployment.Tradeswitch.ear//org.zkoss.zk.au.http.DHtmlUpdateServlet.doGet(DHtmlUpdateServlet.java:487) at deployment.Tradeswitch.ear//org.zkoss.zk.au.http.DHtmlUpdateServlet.doPost(DHtmlUpdateServlet.java:495) at [email protected]//javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at [email protected]//javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at [email protected]//io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
Expected Result
no exception
Debug Info
the import package check has been removed from tomcat
https://github.com/apache/tomcat/blame/trunk/java/javax/el/ImportHandler.java#L125
Packages.getPackage() is deprecated since JDK 9
classLoader.getResource("java.lang") returns null
Workaround
patch ImportHandler.importPackage()