Título: jar no conecta a mysql Publicado por: paola_24 en 1 Septiembre 2019, 01:38 am Buenas estoy iniciando en programación en java
Resulta que estoy haciendo una aplicación de escritorio en Netbeans; mientras corro la aplicación en netbeans conecta muy bien a la base de datos en este caso Mysql, pero cuando abro la aplicación desde el jar no me conecta a mysql. No se que hacer Gracias Título: Re: jar no conecta a mysql Publicado por: EdePC en 1 Septiembre 2019, 02:38 am Saludos,
- Abre una Consola (CMD o PowerShell) y ejecuta desde ahí tu jar, por ejemplo esto muestra un error de driver: Citar C:\Users\EdSon>java -jar "D:\PRY\ControlSystem\dist\ControlSystem.jar" com.mysql.jdbc.Driver Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at controlador.CarreraDAO.mostrarTablaCarreras(CarreraDAO.java:153) Título: Re: jar no conecta a mysql Publicado por: paola_24 en 2 Septiembre 2019, 20:39 pm Hola gracias por responder,
lo ejecute desde la consola abre la aplicación y me dice que no se puede conectar, (error de conexión). no me da ningun error por driver, solo que no puede establecer conexión. Título: Re: jar no conecta a mysql Publicado por: EdePC en 3 Septiembre 2019, 00:36 am - Supongo que estás utilizando un try/catch para gestionar expeciones/errores y mostrar mensajes de error personalizados. Revisa tu código, esa parte donde debe haber algo como System.println("Error de conexión");
- Si tu proyecto usa librerías asegúrate de que estas librerías acompañen a tu .jar, por ejemplo en mi caso: Citar dist | README.TXT | SistemaControlPagos.jar | \---lib AbsoluteLayout.jar commons-collections-3.2.1.jar commons-digester-2.1.jar commons-logging-1.1.1.jar iText-2.1.7.jar jasperreports-4.7.1.jar jcalendar-1.3.3.jar mysql-connector-java-5.1.23-bin.jar - Como se puede ver, NetBeans compila el proyecto en un .jar distribuible en la carpeta dist donde a su vez hay un archivo README.TXT y el compilado en sí SistemaControlPagos.jar. Aparte se crea una carpeta lib que contiene todas las librerías que usa el proyecto, te crea la carpeta lib? - Si no te crea la carpeta lib, se tiene que configurar en NetBeans, click derecho en tu proyecto > propiedades > Build > Packaging > Marcar Build JAR y Copiar librerías. Mi NetBeans está en inglés así que puede que no lo esté traduciendo bien XD. -- Al final darle un Click derecho > Limpiar y Construir (Clean and Build) - Aparte puedes abrir tu .jar con WinRar o 7-zip para ver que tiene dentro, debe tener una carpeta META-INF y dentro un archivo MANIFEST.MF cuyo contenido debe indicar entre otras cosas donde encontrar las librerías: Citar Manifest-Version: 1.0 Ant-Version: Apache Ant 1.9.7 Created-By: 1.8.0_221-b11 (Oracle Corporation) Class-Path: lib/AbsoluteLayout.jar lib/jasperreports-4.7.1.jar lib/jcalendar-1.3.3.jar lib/iText-2.1.7.jar lib/commons-logging-1.1.1.jar lib/commons-collections-3.2.1.jar lib/commons-digester-2.1.jar lib/mysql-connector-java-5.1.23-bin.jar X-COMMENT: Main-Class will be added automatically by build Main-Class: vista.FramePrincipal Título: Re: jar no conecta a mysql Publicado por: paola_24 en 3 Septiembre 2019, 02:41 am si crea la carpeta lib alli se encuentran las librerias usadas, también esta el driver de mysql;
y al abrir el archivo MANIFEST me muestra lo siguiente: Citar Manifest-Version: 1.0 Ant-Version: Apache Ant 1.9.7 Created-By: 1.8.0_211-b12 (Oracle Corporation) X-COMMENT: Main-Class will be added automatically by build Specification-Title: Java Advanced Imaging Image I/O Tools Specification-Version: 1.1.3 Specification-Vendor: Sun Microsystems, Inc. Implementation-Title: com.sun.media.imageio Implementation-Version: 1.1.3 Implementation-Vendor: Sun Microsystems, Inc. Extension-Name: com.sun.media.imageio Main-Class: Vista.FrmLogin Class-Path: . ./lib lib Título: Re: jar no conecta a mysql Publicado por: EdePC en 3 Septiembre 2019, 15:10 pm - Ahí está el problema, tu MANIFEST.MF no tiene bien puestas las librerías, supongo que es un problema generado por haber importado los recursos de alguna manera, el daño suele ocurrir en el fichero nbproject\project.properties ...
- La solución más limpia sería crea un nuevo proyecto, luego copiar tu carpeta src y carpeta de librerías al nuevo proyecto, luego ir a las propiedades del proyecto (click derecho > popiedades a tu proyecto), en Libraries agregar las librerías que has copiado (Add JAR/Folder), agregar las librerías globales si las hay (Add library). En Run, especificar la Main Class (dándole en Browse y selecionándola) OK. Finalmente dar un Clean and Build. - Otra solución es extraer tu Manifest.mf y editarlo a mano agregando las librerías en el Class-Path: Citar Manifest-Version: 1.0 Ant-Version: Apache Ant 1.9.7 Created-By: 1.8.0_211-b12 (Oracle Corporation) X-COMMENT: Main-Class will be added automatically by build Specification-Title: Java Advanced Imaging Image I/O Tools Specification-Version: 1.1.3 Specification-Vendor: Sun Microsystems, Inc. Implementation-Title: com.sun.media.imageio Implementation-Version: 1.1.3 Implementation-Vendor: Sun Microsystems, Inc. Extension-Name: com.sun.media.imageio Main-Class: Vista.FrmLogin Class-Path: lib/libreria01.jar lib/libreria02.jar lib/libreria03.jar lib/libreriaDelMySQLConnector.jar -- La última línea de este fichero debe ser una línea en blanco -- Luego puedes usar el mismo WinRAR o 7-zip para reemplazar el manifest.mf original por este nuevo. O hacerlo por medio del comando JAR: Citar jar -umf NuevoManifest.mf MiProyecto.jar Título: Re: jar no conecta a mysql Publicado por: paola_24 en 4 Septiembre 2019, 01:30 am Si ya conecto, eran las librerias...
Muchas gracias!!! Título: Re: jar no conecta a mysql Publicado por: lWacha en 9 Febrero 2020, 20:58 pm Me funcionó copiar todas las bibliotecas en la misma carpeta que el archivo .jar, normalmente netbeans tiene deshabilitada esa función, pero es bueno agregarla si vas a desplegar tu proyecto
Título: Re: jar no conecta a mysql Publicado por: wandypi13 en 19 Abril 2022, 02:31 am Me funcionó copiar todas las bibliotecas en la misma carpeta que el archivo .jar, normalmente netbeans tiene deshabilitada esa función, pero es bueno agregarla si vas a desplegar tu proyecto hermano como le hiciste me pasa lo mismo |