PDA

View Full Version : [JAVA] class.forName


silviaz80
17-05-2006, 10:32
Ciao,
devo richiamare una classe in modo indiretto (non so se effettivamente è questo il modo giusto di dire). In pratica devo compilare il mio programma con la versione di java 1.4 ma devo inserire una classe che compila solo con la versione 1.5.
Sto usando Class.forName e di compilare mi compila ma mi da problemi nel ClassLoader nell'esecuzione, precisamente un'eccezzione?
Che posso fare?
Ciao
Silvia

thebol
17-05-2006, 10:44
Ciao,
devo richiamare una classe in modo indiretto (non so se effettivamente è questo il modo giusto di dire). In pratica devo compilare il mio programma con la versione di java 1.4 ma devo inserire una classe che compila solo con la versione 1.5.
Sto usando Class.forName e di compilare mi compila ma mi da problemi nel ClassLoader nell'esecuzione, precisamente un'eccezzione?
Che posso fare?
Ciao
Silvia

non penso sia possibile usare un .class compilato con 1.5 insieme all1.4.

certo il jar lo fai, pero poi la jvm 1.4 non dovrebbe riuscire a leggere il .class della 1.5.

Sarebbe cmq utile sapere l'eccezione.

silviaz80
17-05-2006, 10:46
non penso sia possibile usare un .class compilato con 1.5 insieme all1.4.

certo il jar lo fai, pero poi la jvm 1.4 non dovrebbe riuscire a leggere il .class della 1.5.

Sarebbe cmq utile sapere l'eccezione.

L'eccezione che mi da è :

at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:246)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:207)

e continua poi
Ciao
Silvia

thebol
17-05-2006, 11:13
L'eccezione che mi da è :

at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:246)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:207)

e continua poi
Ciao
Silvia


quello è lo stackTrace (ed è utile), ma non c'è l'eccezione lanciata :D

silviaz80
17-05-2006, 11:18
quello è lo stackTrace (ed è utile), ma non c'è l'eccezione lanciata :D


oooops scusate ho saltato dei righi :muro: :muro: :muro:

Comunque ho appena risolto mi dava uquesta eccezione perchè abgliavo una configurazione nel mio programma :rolleyes:
Grazie mille comunque.
Ciao
Silvia