Ho ricevuto qualche codice java-byte (così compilato java-source) che viene generato nel mio programma. Ora voglio caricare questo codice byte nel Java-VM attualmente in esecuzione ed eseguire una funzione specifica. Non sono sicuro di come farlo, ho scavato un po 'nei Java Classloader ma non ho trovato una via diritta.Caricamento del codice byte Java in Runtime
Ho trovato una soluzione che accetta un file di classe sul disco rigido, ma il bytecode che ho ottenuto è in una matrice di byte e non voglio scriverlo sul disco ma usarlo direttamente.
Grazie!
penso che nell'ambito di questo collegamento si dovrebbe trovare quello che stai cercando: http: //tutorials.jenkov. com/java-reflection/dynamic-class-loading-reloading.html Guarda l'ultima sezione "ClassLoader Load/Reload Example". –
La mia domanda era in qualche modo poco chiara: non ho un file di classe ma un array di byte e voglio caricarlo direttamente. Grazie comunque! – theomega
E sono abbastanza sicuro che il mio link ha fornito esattamente questo. Almeno ho trovato questo attraverso di esso: http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassLoader.html#defineClass (byte [], int, int) Inoltre è possibile ovviamente, salva sempre il tuo array di byte in una directory temporanea. –