Foro de elhacker.net

Programación => Java => Mensaje iniciado por: |Miguel| en 16 Febrero 2012, 15:53 pm



Título: ¿Cómo creo un .exe con NetBeans?
Publicado por: |Miguel| en 16 Febrero 2012, 15:53 pm
Hola a todos.

Bueno la cosa es que tengo una aplicación con acceso a un archivo de base de datos de access e interfaz gráfica y me gustaría saber cómo puedo generar un archivo ejecutable .exe (y recalco el exe) de tal forma que con ese único archivo mi aplicación sea ejecutable en cualquier máquina y pueda trabajar sobre esa base de datos (evidentemente, con los datos que tenga cuando compile).

No me vale la opción build ni la clean & build de NB ya que lo que me genera es un .jar y hay equipos que no son capaces de interpretarlos.

Gracias a todos, Saludos grandes y cordiales  ;D


Título: Re: ¿Cómo creo un .exe con NetBeans?
Publicado por: RyogiShiki en 16 Febrero 2012, 16:12 pm
Con NetBeans hasta donde sé no puedes crear un exe.

Ten en cuenta que así conviertas tu aplicación Java a un exe la máquina donde lo ejecutes igual tendrá que tener un JRE para correr la aplicación. Generalmente en Windows, cualquier máquina con un JRE es capaz de ejecutar un archivo jar.

Existen herramientas del tipo Excelsior JET, que traducirán el bytecode de tu aplicación a código nativo de la plataforma. El problema con esto, es que al final tu programa puede terminar sin todas las funcionalidades que en un principio lo componían. En este caso no es necesario que la máquina objetivo tenga instalado un JRE

Aquí (http://viralpatel.net/blogs/2009/02/convert-jar-to-exe-executable-jar-file-to-exe-converting.html) puedes encontrar una lista de herramientas que transformaran tu aplicación de un jar a un exe. Esto básicamente lo que hace es empaquetar el jar dentro de un exe en ocasiones encriptarlo, y generar los mecanismos para lanzarlo. Ten en cuenta que igual vas a necesitar de máquinas con un JRE o JDK instalado. También es necesario decir que muchas de estas herramientas hace mucho tiempo que no se actualizan y su desarrollo está parado. Otra opción que tienes es crear un instalador para tu aplicación que de una vez instale un JRE (no se si la licencia del JRE lo permita) y tal vez también un launcher en formato exe que se encargue de ejecutar el jar.

Saludos


Título: Re: ¿Cómo creo un .exe con NetBeans?
Publicado por: |Miguel| en 16 Febrero 2012, 21:30 pm
Entonces no entiendo nada...

Tengo máquina virtual java instalada en todos los pcs de casa, pero aún así hay algunos equipos en los que ejecuto el .jar y  no se ejecuta... especialmente en las aplicaciones sin GUI (la línea de comandos me devuelve "el comando X no se reconoce como un comando o archivo por lotes ejecutable", o algo así, estoy hablando de memoria)...

Siendo como dices tú, me vale con que sea .jar, porque por lo visto lo mismo me da, si he entendido bien...


Título: Re: ¿Cómo creo un .exe con NetBeans?
Publicado por: Proteus1989 en 16 Febrero 2012, 21:38 pm
para las aplicaciones sin GUI tienes que ejecutarlas desde consola

java - jar RUTA


Título: Re: ¿Cómo creo un .exe con NetBeans?
Publicado por: RyogiShiki en 16 Febrero 2012, 21:39 pm
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.


Lo que dice proteus es cierto también. Recuerda usar esa forma para ejecutar los programas sin GUI

La otra posibilidad si lo anterior no te sirve, es lo siguiente:

Si el problema es porque no puedes usar por ejemplo el comando "java" o "javac" en un CMD entonces el problema tal vez sea las que las variables de entorno no están correctamente configuradas. Aqui (http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=389:configurar-java-en-windows-variables-de-entorno-javahome-y-path-cu00610b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188) tienes una guia de como configurar dichas variables para utilizar las herramientas de Java desde la consola de comandos.

Saludos


Título: Re: ¿Cómo creo un .exe con NetBeans?
Publicado por: |Miguel| en 16 Febrero 2012, 21:42 pm
De todas formas, una aplicación que tengo con GUI funciona... más o menos:

-El icono de la aplicación me lo cambia por el de Java.
-No funcionan las consultas a la BBDD.

Deduzco que el build de NetBeans no se lleva los archivos consigo, supongo.

Ahora le echo un ojo a eso a ver....


Título: Re: ¿Cómo creo un .exe con NetBeans?
Publicado por: RyogiShiki en 16 Febrero 2012, 21:45 pm
El build se lleva los archivos con el si están dentro de la estructura de la carpeta src, si los colocas dentro de la carpeta bin no los añade al jar.

Saludos


Título: Re: ¿Cómo creo un .exe con NetBeans?
Publicado por: |Miguel| en 16 Febrero 2012, 21:53 pm
Cierto, he probado y me funciona bien. Gracias.
No paras de contestarme cosas de forma más coherente q mi profesor... creo q te debo parte de mi nota jaja

EDITO:  la bbdd sí que funciona perfectamente, pero el icono de la aplicación no, me la cambia por la tacita de java. Eso es una gilipollez como un piano, realmente el dibujo me da igual, pero no llego a entender el porqué (eso si me preocupa más).


Título: Re: ¿Cómo creo un .exe con NetBeans?
Publicado por: RyogiShiki en 16 Febrero 2012, 21:55 pm
Cierto, he probado y me funciona bien. Gracias.
No paras de contestarme cosas de forma más coherente q mi profesor... creo q te debo parte de mi nota jaja

XDD!. Por nada. Estamos para ayudar. Me alegra que se haya solucionado el problema.

Saludos


Título: Re: ¿Cómo creo un .exe con NetBeans?
Publicado por: RyogiShiki en 16 Febrero 2012, 22:32 pm
El ícono del Jar no lo puedes cambiar, ya que este no se relaciona con ningún archivo de recursos y es como si fuese un archivo zip al que java se encarga de registrar y asociar el mimetype (extensión y formato del archivo) con un ícono específico, Así que si cambias el icono de un jar has de cambiar el de todos los jars de tu sistema.

Lo que puedes hacer es colocar un ícono en el frame principal de la siguiente forma:

Código
  1. URL frameIcon = ClassLoader.getSystemResource("icon.png");
  2. Image imgIcon = Toolkit.getDefaultToolkit().createImage(frameIcon);
  3.  
  4. this.setIconImage(imgIcon)
  5.  
Poniedo el código por ejemplo en el constructor de una clase que extienda de un JFrame.

Un ejemplo:
(http://k19.kn3.net/E0EEBA59A.png)
Use esta imagen para el ejemplo: http://www.veryicon.com/icon/png/Application/Glassy%20Software/Azureus.png

Saludos


Título: Re: ¿Cómo creo un .exe con NetBeans?
Publicado por: |Miguel| en 16 Febrero 2012, 22:36 pm
Sí, algo muy parecido es como lo tengo hecho, así:
Código
  1. Toolkit kit = Toolkit.getDefaultToolkit();
  2. Image imgIcon = kit.createImage("src/img/icono.png");
  3. setIconImage(imgIcon);
  4.  

Una cosa, cuando me voy a otra máquina, ejecuto el jar y la bbdd no funciona de nuevo, imagino q eso es porque debo crear el odbc en la otra máquina tambien?


Título: Re: ¿Cómo creo un .exe con NetBeans?
Publicado por: RyogiShiki en 16 Febrero 2012, 22:42 pm
Si estás accediendo a una base de datos local, entonces debes crear una base de datos en cada equipo n el que ejecutes el programa, si accedes a una base de datos remota, entonces no hay que preocuparse.

Saludos


Título: Re: ¿Cómo creo un .exe con NetBeans?
Publicado por: |Miguel| en 16 Febrero 2012, 22:49 pm
es local, pero estaba metida en el directorio src, como me habías dicho por eso supongo que habrá que crear el odbc para poder acceder a ella. imagino que habrá alguna forma de decirle a la aplicación q sea ella misma la q cree el odbc para distribuir la aplicacion... pero bueno a saber como xD