https://bz.apache.org/bugzilla/show_bug.cgi?id=66582

            Bug ID: 66582
           Summary: Can't reference static fields declared in interfaces
                    in JSP pages: javax.el.ELException: The class [...]
                    must be public, in an exported package (for Java 9+),
                    non-abstract and not an interface
           Product: Tomcat 9
           Version: 9.0.72
          Hardware: PC
                OS: Mac OS X 10.1
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Jasper
          Assignee: dev@tomcat.apache.org
          Reporter: dmitry.tresku...@jetbrains.com
  Target Milestone: -----

On a JSP page we have the following import:

<%@ page import="static
jetbrains.buildServer.auth.SessionModel.KEY_ENABLE_LOGOUT_ALL_SESSIONS" %>

After upgrading to Tomcat 9.0.72, it stopped working with the following error:

javax.el.ELException: The class [jetbrains.buildServer.auth.SessionModel] must
be public, in an exported package (for Java 9+), non-abstract and not an
interface
        at javax.el.ImportHandler.findClass(ImportHandler.java:455)
~[el-api.jar:3.0.FR]
        at javax.el.ImportHandler.importStatic(ImportHandler.java:297)
~[el-api.jar:3.0.FR]
        at
org.apache.jasper.runtime.PageContextImpl.getELContext(PageContextImpl.java:710)
~[jasper.jar:9.0.74]
        at
org.apache.jasper.runtime.JspContextWrapper.getELContext(JspContextWrapper.java:513)
~[jasper.jar:9.0.74]
        at
org.apache.jsp.tag.web.ext.includeExtensions_tag.doTag(includeExtensions_tag.java:157)
~[?:?]
        at
org.apache.jsp.profile.userGeneralSettings_jsp._jspService(userGeneralSettings_jsp.java:264)
~[?:?]
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
~[jasper.jar:9.0.74]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
~[servlet-api.jar:4.0.FR]
        at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
~[jasper.jar:9.0.74]
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
~[jasper.jar:9.0.74]
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)
~[jasper.jar:9.0.74]


"jetbrains.buildServer.auth.SessionModel" is indeed an interface, but to me
this looks like a valid usage of the import statement

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to