2010-02-18 10 views
9

Me gustaría tener una aplicación Java que se pueda iniciar fácilmente.¿Cómo crear una aplicación Java que se pueda ejecutar con un clic?

Hasta ahora he logrado crear un archivo jar pero todavía no veo ninguna ventaja. Antes de ejecutar mi aplicación por "java HelloWorldSwing" y ahora uso "java -jar HelloWorldSwing.jar" (que es incluso más complicado que el comando anterior y, por lo que entiendo, el uso de un archivo jar requiere presencia de * archivo .mf en el mismo directorio).

me gustaría tener una de las dos situaciones siguientes:

  1. Sólo un único archivo que se puede copiar a otro sistema operativo y que el proyecto se puede iniciar con sólo un click sobre este archivo en una buscador de archivos (en este momento si hace clic en mi archivo jar Ubuntu comienza a extraer el archivo (porque jar es un archivo, lo sé)).

  2. Crea un pictograma que se puede colocar en un escritorio y hacer clic en el botón que inicia mi programa Java.

+2

"por lo que he entendido, el uso de un archivo JAR requiere la presencia del archivo .MF * en el mismo directorio" No, el archivo de manifiesto debe haber poner en el contenedor con la opción de línea de comando 'jar's' -m manifestfile' – Powerlord

Respuesta

2

Aquí algunos enlaces que pueden ayudar u ..

JSmooth es un ejecutable de Java Wrapper. Se crea lanzadores nativos de Windows

http://jsmooth.sourceforge.net/ 

Cruz-plataforma Java envoltorio ejecutable

http://launch4j.sourceforge.net/ 


http://www.captain.at/programming/java/executable-java-application.php 
0

Se puede crear un archivo jar ejecutable, como se descrito aquí:

http://csdl.ics.hawaii.edu/~johnson/613f99/modules/04/jar-files.html

Luego los usuarios pueden hacer clic en él en el buscador de archivos y hacer que la clase principal comience, siempre que el sistema operativo y la configuración de seguridad del usuario lo permitan.

+0

Acabo de seguir las instrucciones paso a paso. Al final obtuve un archivo jar que pude ejecutar con éxito. Sin embargo, cuando abro la carpeta con el archivo jar en mi buscador de archivos, veo el archivo jar como un archivo. Haga doble clic en el archivo para iniciar la extracción del archivo. – Roman

+0

Desafortunadamente, no se puede hacer nada con los navegadores de archivos que se niegan a ejecutar cosas automáticamente (que, después de todo, a menudo es una muy buena idea). Incluso si compiló todo el JRE y su programa en un .EXE enorme, hoy en día el administrador de archivos puede negarse a ejecutarlo porque es un "archivo descargado inseguro", a menos que logre que su aplicación sea certificada por el proveedor del sistema operativo. Es una carrera de armamentos que finalmente nadie puede ganar. –

9

Hacer una jar sin dependencias ejecutable es relativamente fácil. Básicamente, solo necesita especificar en el MANIFEST la clase principal a usar. Luego se puede iniciar con java -jar ExecutableJar.jar, pero la mayoría de los sistemas operativos admiten hacer doble clic en este caso.

Hacer un jar que depende de otro jar ejecutable es más complicado. Puede especificar la ruta de clase en el MANIFEST, pero aún significa que debe copiar más de un contenedor para distribuir su aplicación. Otra forma es "empaquetar" el frasco dependiente en el frasco principal.

Puede hacer todo esto con maven y maven-assembly-plugin. Use el jar-with-dependencies preconfigurado descriptor.

<configuration> 
    <descriptorRefs> 
      <descriptorRef>jar-with-dependencies</descriptorRef> 
    </descriptorRefs> 
</configuration> 

La clase principal se puede especificar con algo como:

<archive> 
    <manifest> 
     <mainClass>org.company.MyClass</mainClass> 
    </manifest> 
</archive> 

EDITAR: Una completa pom.xml se pueden encontrar en this question.

0

Debe crear un jar ejecutable, mencionando su clase principal (es decir, una clase pública con el método main()) en el archivo de manifiesto del jar como Main-Class. Entonces cuando prople haga doble clic en él o escriba: jar "your jar name" en la consola de comandos, entonces lo ejecutarán.

2

Launch4J le permite hacer un JAR que se pueda abrir en muchas plataformas.

2

Se llama WebStart,

Sin embargo, no se ajusta perfectamente a su descripción. No proporciona una solución autocompletada que debería existir.

PS. Personalmente creo que el archivo ejecutable es una broma, no puedes controlar los vmargs, no puedes tener un buen ícono y ni siquiera puedes saber que es ejecutable hasta que se descomprima e intente ejecutarlo.

Cuestiones relacionadas