Ejecución de archivos JAR en Windows


Tengo un archivo JAR llamado helloworld.jar . Para ejecutarlo, estoy ejecutando el siguiente comando en una ventana de línea de comandos:

java -jar helloworld.jar

Esto funciona bien, pero ¿cómo lo ejecuto con doble clic en su lugar? ¿Necesito instalar algún software?

Author: Francesco Menzani, 2008-12-27

21 answers

La ruta más fácil es probablemente actualizar o reinstalar el Java Runtime Environment (JRE).

O esto:

  • Abra el Explorador de Windows, desde las herramientas seleccione 'Opciones de carpeta...'
  • Haga clic en la pestaña Tipos de archivo, desplácese hacia abajo y seleccione Tipo de archivo JAR.
  • Pulse el botón Avanzado.
  • En el cuadro de diálogo Editar tipo de archivo, seleccione abrir en el cuadro Acciones y haga clic en Editar...
  • Pulse el botón Examinar y vaya a la ubicación del intérprete Java javaw.exe.
  • En el campo de la Aplicación utilizada para realizar acciones, necesita mostrar algo similar a C:\Program Files\Java\j2re1.4.2_04\bin\javaw.exe" -jar "%1" % (Nota: la parte que comienza con 'javaw' debe ser exactamente igual; la otra parte del nombre de la ruta puede variar dependiendo de la versión de Java que esté utilizando) luego presione los botones OK hasta que todos los diálogos se cierren.

Que fue robado de aquí: http://windowstipoftheday.blogspot.com/2005/10/setting-jar-file-association.html

 103
Author: Brian Kelly,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-11 21:36:37

En Windows Vista o Windows 7, el editor de asociación manual de archivos ha sido eliminado.

La forma más fácil es ejecutar Jarfix, una pequeña pero poderosa herramienta freeware. Simplemente ejecútelo y sus aplicaciones Java estarán de vuelta... se puede hacer doble clic de nuevo.

 73
Author: Hendy Irawan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:18:18

Si necesita distribuir su .archivo jar y hacerlo ejecutable en los ordenadores Windows de otras personas, usted puede hacer un simple .archivo bat como este en el símbolo del sistema:

java -jar MyJavaTool.jar

Y coloque el .bat archivo en el mismo directorio que su .archivo jar.

 39
Author: Demorf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-03 21:57:34

Si tiene un archivo jar llamado Ejemplo.jar, sigue estas reglas:

  1. Abrir un notepad.exe
  2. Escribe: java -jar Example.jar
  3. Guárdelo con la extensión .bat
  4. Cópielo al directorio que tiene el archivo .jar
  5. Haga doble clic en él para ejecutar su archivo .jar
 20
Author: Pusu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-29 15:46:07

Un efecto secundario interesante de esto causa un problema al iniciar archivos jar ejecutables en el símbolo del sistema.

Si lo intenta (en un símbolo del sistema)

Jarfile.parámetro jar

No hay alegría, porque esto se está traduciendo a lo siguiente (eso no funciona):

Javaw.exe-jar jarfile.parámetro jar

Sin embargo, el siguiente comando funciona:

Java.exe-jar jarfile.parámetro jar

Si cambia la asociación en el administrador de archivos como se describe anteriormente a:

"C:\Program Files\Java\j2re1.4.2_04\bin\java.exe "- jar " %1 "% *

Luego puede escribir:

Jarfile.parámetro jar

En el símbolo del sistema y ahora funcionará! EDITAR:(Sin embargo, luego obtiene una ventana de consola negra cuando ejecuta una aplicación Java basada en formularios (no consola), por lo que esta no es una solución ideal)

Si ejecuta estos archivos jar haciendo doble clic en ellos en Windows, no hay parámetros se pasará por lo que su código Java debe manejar la excepción de desbordamiento de pila e incluir una función "presione una tecla" al final o la ventana simplemente desaparecerá.

Para pasar un parámetro en windows debe crear un acceso directo al archivo jar, que incluye el parámetro en la línea de destino (haga clic con el botón derecho en el acceso directo y seleccione propiedades) no puede agregar parámetros al icono del archivo jar de esta manera.

No hay una solución única y consistente aquí, pero tendría el mismo problema con cualquier otra aplicación de consola.

Hay una aplicación gratuita de Windows llamada "bat to exe" que puede usar para crear un archivo exe a partir de a .archivo bat con la línea de comandos correspondiente. también puede incrustar el archivo jar en el exe con esta aplicación, y hacer que lo limpie cuando haya terminado de ejecutarse, por lo que esta puede ser una solución más elegante.

 14
Author: Bob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-31 16:14:36

Primero establezca la ruta en cmd (símbolo del sistema):

set path="C:\Program Files\Java\jre6\bin"

Luego escriba

java -jar yourProgramname.jar 
 10
Author: suraj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-01 16:54:42

En Windows XP * solo necesitas 2 comandos shell :

   C:\>ftype myjarfile="C:\JRE1.6\bin\javaw.exe" -jar "%1" %* 
   C:\>assoc .jar=myjarfile  

Obviamente usando la ruta correcta para el JRE y cualquier nombre que desee en lugar de myjarfile.

Para comprobar la configuración actual:

   C:\>assoc .jar  
   C:\>ftype jarfile  

Esta vez usando el valor devuelto por el primer comando, si lo hubiera, en lugar de jarfile.

*no probado con Windows 7

 8
Author: Carlos Heuberger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-07 17:47:41

Además de todas las otras sugerencias, hay otra cosa que debes considerar. Es tu infierno.jar un programa de consola? Si lo es, entonces no creo que puedas convertirlo en un archivo jar con doble clic. Los programas de consola utilizan el cmd normal.ventana de shell exe para su entrada y salida. Por lo general, el jar "launcher" está ligado a javaw.exe que no crea una ventana de comando-shell.

 5
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-12-27 21:56:26

Estaba ejecutando Windows 7 x64 y no pudo usar ninguna de estas correcciones.

Este funcionó para mí después de todo:

Http://thepanz.netsons.org/post/windows7-jar-file-association-broken-with-nokia-ovi

Hay un archivo que puede descargar que contiene un .bat archivo para ejecutar, pero compruebe la ruta del javaw real.exe!!!!

 5
Author: lawid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-17 22:03:55

Hay manera sin requerir que el usuario haga cambios en su PC. Ejecución.getRuntime.exec () nos permite iniciar cmd.exe y ejecutar comandos dentro de ella. Por lo tanto, es posible que el programa Java se ejecute en el símbolo del sistema cuando el usuario hace clic .archivo jar.

public static void main(String[] args) throws IOException {
    if(args.length == 0) {
        Process p = Runtime.getRuntime().exec("cmd.exe /c start java -jar " + (new File(NameOfClass.class.getProtectionDomain().getCodeSource().getLocation().getPath())).getAbsolutePath() + " cmd");
    } else {
        //code to be executed
    }
}
 5
Author: dario111cro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-27 13:59:02

Desea comprobar un par de cosas; si este es su propio archivo jar, asegúrese de haber definido una clase Main en el manifiesto. Ya que sabemos que se puede ejecutar desde la línea de comandos, la otra cosa que hacer es crear un acceso directo de Windows, y modificar las propiedades (usted tendrá que mirar alrededor, no tengo una máquina de Windows para mirar) para que el comando que ejecuta en abierto es el comando java-jar que usted ha mencionado.

La otra cosa: si algo no se confunde, debería funcionar de todos modos; compruebe y asegúrese de que tiene java asociado con el .extensión del tarro.

 3
Author: Charlie Martin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-12-27 03:26:01

Tuve el mismo problema en Windows 10. Lo arreglé usando righ-clicken el " helloworld.jar" y vaya a propiedades y haga clic en el cambio botón "abrir con:" y seleccione "Buscar otra app en este PC". En el "Abrir con..." cuadro de diálogo, vaya a la ubicación de la carpeta Java en su PC y abra la carpeta jdk correspondiente y luego abra la carpeta bin y seleccione " javaw.exe" a partir de ahí. Entonces la próxima vez tu " helloworld.jar" abrirá el camino normal.

Ejemplo de ubicación habitual de java: " C:\Program Files (x86) \ Java\jdk1.8. 0_111\bin".

 1
Author: Samintha Kaveesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-02 08:46:44

En regedit, abrir HKEY_CLASSES_ROOT\Applications\java.exe\shell\open\command

Haga doble clic en default a la izquierda y agregue un jar entre la ruta java.exe y el argumento "%1".

 1
Author: grwww,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-25 14:13:30

Otra forma de ejecutar archivos jar con un clic / doble clic, es anteponer "- jar " a la nombre del archivo. Por ejemplo, podría cambiar el nombre del archivo MyJar.jar to -jar MyJar.jar.

Debe tener los archivos .class asociados con java.exe, por supuesto. Esto puede no funcionar en todos los casos, pero ha funcionado la mayoría de las veces para mí.

 1
Author: user4343596,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-25 15:30:21

PreScript: Si su solicitud aparece y desaparece inmediatamente, la razón por la que lo hace es que su programa se ejecuta y se cierra automáticamente. Intente poner un escáner al final para terminar y mantendrá su aviso esperando la entrada antes de terminar. (O utilizar retraso tal vez)

Estaba en la misma situación, donde se ejecuta .jar de cmd estaba funcionando bien, pero hacer doble clic no hizo nada.

Solución: Abra cualquier editor de texto y escriba la línea de comandos: java-jar Ejemplo.frasco Guarde el archivo como un.bat file. Ejecute este archivo bat para obtener la salida.

Dando un paso adelante, puede convertir este archivo bat a archivo exe utilizando una herramienta GUI simple como Bat To Exe Converter.

Ahora puedes compartir tu .tarro como una distribución en .archivo exe que cualquiera puede utilizar solo asegúrese de mantener todos los archivos juntos. (Especialmente el .jar y .bat file causa .bat es solo un indicador cmd) (Cómo se siente lógico)

Soy bastante nuevo en el desarrollo y aprendiendo mucho. Por favor, disculpe cualquier error si se comete. Las sugerencias son bienvenidas.

 1
Author: Manthan_Admane,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-20 17:08:41

Si utiliza eclipse para crear sus archivos java, puede optar por exportarlo como un archivo jar ejecutable. Hice esto con mis programas y puedo simplemente hacer clic en el frasco y se ejecutará así. Esto funcionará tanto en Windows como en os x.

 0
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-12 23:17:35

Haciendo un comienzo.bat era lo único que funcionaba para mí.

Abra un documento de texto e ingrese. java-jar como sea que se llame el tuyo .jar

Guardar como inicio.bat en la misma carpeta que el .archivo jar que desea ejecutar. y luego ejecutar el. mtd

 0
Author: freeloaderzful,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-17 20:11:08

Desafortunadamente, no es tan fácil ya que Microsoft ha eliminado el diálogo de asociación de archivos avanzados en las últimas ediciones de Windows. - Con las nuevas versiones de Windows solo se puede especificar la aplicación que se va a utilizar para abrir .archivo jar.

Fijación .la apertura del archivo jar en Windows requiere dos pasos.

  1. Abra el Panel de control y elija "Programas predeterminados - > Establecer asociaciones". Encontrar .jar extensión ( Archivo JAR ejecutable ) allí, y elegir Java como programa predeterminado para abra esta extensión. Probablemente aparecerá como " Java Platform(SE) ". Una alternativa más rápida tal vez es sencillo haga clic derecho en un.jar archivo, y luego cambiar el programa asociado haciendo clic en el " Cambiar..." botón.

  2. Ahora abra el regedit y abra la tecla HKEY_CLASSES_ROOT\jarfile\shell\open\command. Luckilly para nosotros, podemos especificar parámetros allí para el valor (Default). En mi sistema Windows se ve como: C:\app\32\jre7\bin\javaw.exe" -jar "%1" %* pero en la mayoría de los casos es la siguiente cadena: C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*

NOTAS:

  • No use java.exe allí, ya que abrirá la ventana del shell.
  • La herramienta jarfix mencionada en este hilo lo más probable es que no haga más que la modificación del registro por ti. Prefiero el método manual de cambio de registro, ya que implica que el administrador del sistema puede "empujar" el cambio de registro a todas las estaciones de trabajo en la red.
 0
Author: DejanLekic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-07 14:47:23

Si necesita ejecutar el archivo jar haciendo doble clic en él, debe crearlo como un "JAR ejecutable". puedes hacerlo simplemente con tu IDE.

Si estás usando eclipse, sigue estos pasos :

    To create a new runnable JAR file in the workbench:

1.From the menu bar's File menu, select Export.
2.Expand the Java node and select Runnable JAR file. Click Next.
3.In the  Opens the Runnable JAR export wizard Runnable JAR File Specification page, select a 'Java Application' launch configuration to use to create a runnable JAR.
4.In the Export destination field, either type or click Browse to select a location for the JAR file.
5.Select an appropriate library handling strategy.
Optionally, you can also create an ANT script to quickly regenerate a previously created runnable JAR file.

Se puede encontrar más información en la página de ayuda de Eclipse: LINK

 0
Author: Nomesh DeSilva,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-08 03:06:47

Hay muchos métodos para correr .archivo jar en Windows. Uno de ellos está utilizando el símbolo del sistema.

Pasos:

  1. Abrir símbolo del sistema(Ejecutar como administrador)
  2. Ahora escriba el comando "cd\" para el directorio raíz
  3. Escriba "java jar filename.frasco" Nota: también puede usar cualquier aplicación de terceros como WinRAR, jarfix, etc.
 0
Author: irisrei08,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-04 12:40:42

Pasos:

1.) búsqueda de Java SE Runtime Environment en Google: https://www.google.com/search?q=Java+SE+Runtime + Environment

2.) instale la versión apropiada en su computadora

 0
Author: iorgu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-10-03 15:06:26