¿Ejecutando el lanzamiento4J desde el código Java?
Pregunta
He usado Launch4j para envolver un jar ejecutable en un exe en mi archivo pom.xml (archivo de proyecto maven) durante el tiempo de compilación/compilación.
Pero ¿es posible ejecutar el lanzamiento4j desde una pieza de código Java y crear un envoltorio exe dinámicamente cuando se ejecuta la aplicación Java, como:
import some.l4j.dependencies.*;
public class L4JTest {
public static void main(String[] args) {
Launch4JConfig l4jConfig = new Launch4JConfig ();
l4jConfig.setJarPath("path-to-jar-to-wrap");
l4jConfig.setOutfile("test.exe")
l4jConfig.setDontWrapJar(true);
...
l4jConfig.create();
}
}
¡Cualquier puntería o enlace a ejemplos son bienvenidos!
Solución
Ya que no querías ir a minucioso el Runtime.getRuntime().exec(..)
Muy, tendrás que jugar. Hemos usado Launch4j y nunca tuvimos el caso de uso que está buscando. No creo que elunch4j tenga una API Java documentada.
Sin embargo, puede jugar con la tarea de hormiga utilizada en elunch4j y usarla para su propósito aquí. Eche un vistazo al Fuente de la tarea
Verá que hace uso de net.sf.launch4j.Builder
y net.sf.launch4j.config.Config
para "construir" el exe.
- ¡buena suerte!