-
- Downloads
java: do not mask system classes
Commit 211bb7fb introduced masking of system classes from the isolate point of view in order to prevent runjava dependencies form becoming visible, which might cause conflicts if application would like to use the same classes but of different version. Currently the dependencies include cglib and asm which are also used by spring framework and hibernate. Making them visible would force the applications to use our version of these libraries, which can be older or newer than the required one. Unfortunately this causes extension classes from jre/lib/ext to be unavailable to the application. They are part of the system class loader, not bootstrap. One of the side effects is that security providers are not found (See issue #208). This fix chooses another approach to fix the problem. Instead of masking dependencies we move them under io.osv.* namespace so that they will not cause conflicts. For this task I use apache plugin for maven which automatically renames packages in our uber runjava jar. Fixes #208. Reviewed-by:Nadav Har'El <nyh@cloudius-systems.com> Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
Showing
- java/runjava/pom.xml 25 additions, 0 deletionsjava/runjava/pom.xml
- java/runjava/src/main/java/io/osv/ContextIsolator.java 1 addition, 2 deletionsjava/runjava/src/main/java/io/osv/ContextIsolator.java
- java/runjava/src/main/java/io/osv/FilteringClassLoader.java 0 additions, 22 deletionsjava/runjava/src/main/java/io/osv/FilteringClassLoader.java
- java/runjava/src/main/java/io/osv/TeeClassLoader.java 0 additions, 29 deletionsjava/runjava/src/main/java/io/osv/TeeClassLoader.java
- java/tests/pom.xml 0 additions, 17 deletionsjava/tests/pom.xml
Please register or sign in to comment