2011-02-03 15 views
11

He buscado durante mucho tiempo la respuesta a esto y no puedo encontrar la respuesta. Puedo obtener la ruta del programa en ejecución, pero no puedo obtener el nombre! Básicamente, estoy creando una aplicación que podría ser .exe o .jar (¡Es complicado) y necesito saber cuál! Entonces, ¿alguien sabe cómo puedo obtener el nombre/extensión del programa en ejecución (en Java), por favor?Obtener el nombre del programa Java

Gracias de antemano

Andy

+0

La pregunta no está clara. El proceso A se inicia a través de un iniciador (.exe o .jar). ¿Desea conocer los detalles del iniciador en el proceso A o en algún otro proceso? B. ¿En qué se basa Java? proceso A o proceso B? –

Respuesta

5

Make 'nombre del programa' una propiedad que se pasa a través de su programa de línea de comandos '-D', al igual que

java -Dprogram.name=myApp.jar -jar myApp.jar 

Leer en su código como

if ("myApp.jar".equals(System.getProperty("program.name"))) { 
    // perform appropriate actions... 
} 
+0

gracias, ¡he comentado más arriba con respecto a su respuesta también! – Andy

4

El programa real que ejecuta el archivo JAR sería java.exe.

Sugiero que aborde el problema desde un ángulo completamente diferente y que el contenedor exe configure una propiedad del sistema que el programa consulte. O podría tenerlo y el manifiesto JAR especifica diferentes clases principales.

+0

Hola, ahora veo la implicación, gracias por tu respuesta. ¡Intentaré con lo que me has sugerido, pero encontraré un trabajo de alguna manera! – Andy

Cuestiones relacionadas