Salve a tutti, vengo subito al sodo.
Ho un problema con java java.lang.ClassLoader.
Devo istanziare un A.class a runtime ed utilizzarlo all'interno di un programma P
P si trova nel package 'pck1'
A si trova nel package 'pck2'
Quando provo ad istanziare 'pck2.A' ottengo
java.lang.ClassNotFoundException: abcmanager.addon.controller.EntropyController
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.findSystemClass(ClassLoader.java:882)
at classloader.CustomClassLoader.findClass(CustomClassLoader.java:51)
at classloader.CustomClassLoader.loadClass(CustomClassLoader.java:40)
at classloader.Main.main(Main.java:62)
Exception in thread "main" java.lang.NullPointerException
at classloader.CustomClassLoader.findClass(CustomClassLoader.java:58)
at classloader.CustomClassLoader.loadClass(CustomClassLoader.java:40)
at classloader.Main.main(Main.java:62)
Java Result: 1
Invece se sposto A.class nel package pck1, funziona tutto perfettamente.
Ho provate anche a leggere dal jar che contiene il file A.class ma da sempre lo stesso problema.
Dove sbaglio?
Potrebbe essere un problema di permessi visto che
SecurityManager sm = new SecurityManager();
System.setSecurityManager(sm);
FilePermission perm = new FilePermission("c:\\A.class", "read");
sm.checkPermission(perm);
solleva
Exception in thread "main" java.security.AccessControlException: access denied (java.io.FilePermission c:\EntropyABCController.jar read)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at classloader.Main.main(Main.java:48)
Java Result: 1
Grazie mille
|