Java - Ejecución dinámica de un JAR desde otro JAR

 
Vista:

Ejecución dinámica de un JAR desde otro JAR

Publicado por Edute (1 intervención) el 04/07/2007 13:17:17
Buenas,

Se me presenta un problema, y es que necesito ejecutar una aplicación java (un JAR) que está almacenada en una BD, me explico: en un registro BLOB está metido este fichero JAR que me interesa ejecutar.

No se bien cómo enfocar la solución. Estoy pensando en hacer una pequeña aplicación que recupere este JAR de la BD y de alguna manera lo ejecute. Este fichero necesita librerías que están en disco duro.

Habría forma de ejecutar este jar dentro del mismo proceso que lo recupera de la BD? Habría que lanzar una 2ª máquina virtual independiente? Cuál es la mejor solución a este problema?

Muchas gracias y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ejecución dinámica de un JAR desde otro JAR

Publicado por angel (4 intervenciones) el 04/07/2007 13:50:06
En mi trabajo, ejecutamos clases java almacenadas dntro d la BD
Usamos Oracle y este permite alamacenar clases java y luego desde un procedimiento ejecutarlas.
En cuanto a lo de recuperar el jar y ejecutarlo, no se ,,si tu Bd t permite lanzad procesos,,vamos el java -jar tuJar.jar... podria ser...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ejecución dinámica de un JAR desde otro JAR

Publicado por Edute (1 intervención) el 04/07/2007 14:44:10
Yo también uso Oracle.

El tema es que este JAR necesita ciertas librerías que no están en BD, y acceso al disco duro, etc. Por lo que entiendo que debe ser descargado de la BD y ejecutado localmente.

Lo que no sé es de qué forma hacer esto. Supongo que bastaría con recuperar el JAR de la BD, almacenar el fichero en disco, y hacer un System.execute("java -jar miAplicacion.jar"), no sé si me podréis decir algo de esto.

Pero el caso es que me interesa que el JAR recuperado se ejecute en el mismo proceso que el que ejecuta, sin lanzar otra máquina virtual, no sé si esto es posible.......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ejecución dinámica de un JAR desde otro JAR

Publicado por Himura (184 intervenciones) el 04/07/2007 18:04:47
Hola,

Lo que tendrías que hacer, es desde tu aplicación JAR principal decargar el fichero de la BD y después con ClassLoader personalizado cargar las clases del JAR de la BD y cargarlas en la JVM.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ejecución dinámica de un JAR desde otro JAR

Publicado por Antonio (1 intervención) el 04/07/2007 19:25:54
Hola, no vengo a responder sino hacer otra pregunta al respecto puesto que el problema que iba a plantear es similar...estoy haciendo un plugin para eclipse, una especie de parser que a partir de un analisis de una clase a analizar (reflexion) y unas ecuaciones dadas por el usuario crea un fichero aspectj el cual al final se compila y se ejecuta junto a un tester....el problema es que cuando intento ejecutar el tester (una clase que esta en un proyecto cualkiera del usuario) me da un error ClassNotfoundException al no estar dentro del alcance del plugin, entonces puedo obtener el Class a partir de un Classloader propio que me he creado, pero como lo ejecuto a partir de ese Class ???

gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ejecución dinámica de un JAR desde otro JAR

Publicado por Edute (1 intervención) el 05/07/2007 16:06:23
Mmm, un classloader? creo que por ahí pueden ir los tiros, conoces algún recurso con documentación sobre este tema?

Otra cosa, el programa que descargas, debería sufrir alguna modificación? o podría ser ejecutado tal cual, invocando a su main y punto....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar