Description
The system class default defined in ApplicationClassLoader has "javax.". This is too broad. The intent of the system classes is to exempt classes that are provided by the JDK along with hadoop and minimally necessary dependencies that are guaranteed to be on the system classpath. "javax." is too broad for that.
For example, JSR-330 which is part of JavaEE (not JavaSE) has "javax.inject". Packages like them should not be declared as system classes, as they will result in ClassNotFoundException if they are needed and present on the user classpath.
Attachments
Attachments
Issue Links
- is related to
-
HADOOP-10893 isolated classloader on the client side
- Closed