Obtuve un código java-byte (así compilado java-source) que se genera en mi programa. Ahora quiero cargar este código de bytes en la Java-VM actualmente en ejecución y ejecutar una función específica. No estoy seguro de cómo lograr esto, profundicé un poco en los cargadores de clases de Java, pero no encontré ninguna forma directa.Cargar Java-Byte-Code en Runtime
Encontré una solución que toma un archivo de clase en el disco duro, pero el bytecode que obtuve está en una matriz de bytes y no quiero escribirlo en el disco sino usarlo directamente en su lugar.
Gracias!
creo que en virtud de este enlace usted debe encontrar lo que busca: http: //tutorials.jenkov. com/java-reflection/dynamic-class-loading-reloading.html Consulte la última sección "Ejemplo de carga/recarga de ClassLoader". –
Mi pregunta no estaba clara: no tengo un archivo de clase sino un array de bytes y quiero cargarlo directamente. ¡Gracias de cualquier manera! – theomega
Y estoy bastante seguro de que mi enlace proporcionó exactamente eso. Al menos encontré esto a través de él: http://java.sun.com/j2se/1.4.2/docs/api/java/lang/ClassLoader.html#defineClass (byte [], int, int) También puedes obviamente, siempre guarde su matriz de bytes en un directorio temporal. –