lundi 17 octobre 2016

How ClassLoader loads non java.** classes other than "Main-Class: xx" of jar manifest, which are in same jar, but jar is not in classpath

Our Application runs on a embedded device. The App starts with JVM running a bootloader java file mentioned in startup.opt file The Bootloader loads a class(Main) from a Main.jar(mentioned in classpath in startup.opt) file using URLClassLoader(java reflections mechanism ). The Main.java program now loads a class(AppMan) from app.jar(NOT mentioned in classpath in startup.opt) file using URLClassLoader(java reflections mechanism )

I do not understand how the non java.** classes(present in same jar) being used by AppMan are being loaded, since the jar file is not mentioned in classpath. P.S: The App is successfully running on the device. Note: 1) All third party library .jar files are mentioned in classpath in startup.opt 2) Methods to call from Main-Class: in manifest are compile time known.





Aucun commentaire:

Enregistrer un commentaire