[jboss-jira] [JBoss JIRA] (WFLY-4023) javax.el.ImportHandler#importClass & #importPackage doesn't import WEB-INF/classes

jaikiran pai (JIRA) issues at jboss.org
Tue Oct 28 09:58:35 EDT 2014


    [ https://issues.jboss.org/browse/WFLY-4023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13015543#comment-13015543 ] 

jaikiran pai commented on WFLY-4023:
------------------------------------

Apparently the spec states that the class has to be loadable by the "current classloader" https://developer.jboss.org/message/908146#908146:

{quote}
EL 3.0 spec

1.22.2 Imports of Packages, Classes, and Static Fields

Either a class or a package can be explicitly imported into the EL evaluation environment. Importing a package imports all the classes in the package. The classes that can be imported are restricted to the classes that can be loaded by the *current class loader*.
{quote}

I haven't read that spec nor have much background on this, so I don't know if current classloader really means context classloader of the current thread.

> javax.el.ImportHandler#importClass & #importPackage doesn't import WEB-INF/classes
> ----------------------------------------------------------------------------------
>
>                 Key: WFLY-4023
>                 URL: https://issues.jboss.org/browse/WFLY-4023
>             Project: WildFly
>          Issue Type: Bug
>          Components: JSF
>    Affects Versions: 8.1.0.Final
>         Environment: Win7, Wildfly 8.1.0.Final
>            Reporter: Patrick Garner
>            Assignee: Farah Juma
>   Original Estimate: 4 hours
>  Remaining Estimate: 4 hours
>
> ImportHandler is not importing classes in WEB-INF/classes and, thus, developers are unable to import classes into the EL evaluation environment per EL 3.0 spec. section 1.22.2 "Imports of Packages, Classes, and Static Fields"
> Here's the ImportHandler relevant code (https://github.com/jboss/jboss-el-api_spec/blob/master/src/main/java/javax/el/ImportHandler.java#L176)
> {code:java}
> private Class<?> getClassFor(String className) {
>     if (!notAClass.contains(className)) {
>         try {
>             return Class.forName(className, false, getClass().getClassLoader());
>         } catch (ClassNotFoundException ex) {
>             notAClass.add(className);
>         }
>     }
>     return null;
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.1#6329)


More information about the jboss-jira mailing list