servlet postgres org not intellij found caused java android postgresql classnotfoundexception

intellij - java.lang.ClassNotFoundException: org.postgresql.Driver, Android



maven postgresql (5)

Descargar y agregar el archivo JDBC JAR a la ruta construida de la herramienta que está utilizando puede ser una solución temporal ya que ninguna de las soluciones anteriores funcionó en mi caso.

Estoy ejecutando Eclipse en Windows.

Después de este tutorial descargué JDBC4, lo agregué a mi ruta de compilación utilizando Proyecto> Propiedades> Agregar JAR externo, examinado para el archivo, funcionó (el archivo .classpath muestra la ruta de acceso de la lib correcta).

El paquete aparece en mi carpeta de Bibliotecas referenciadas, así que continúo con el tutorial.

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; .... public void open () { try { Class.forName("org.postgresql.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try { conn = DriverManager.getConnection(url, username, password); } catch (SQLException e) { e.printStackTrace(); } }

Creo que sería tan simple como eso, pero me golpean con esta larga traza de pila larga que comienza con

java.lang.ClassNotFoundException: org.postgresql.Driver

(Puedo proporcionar más si es necesario)

Intenté include org.postgresql.*; pero eso tampoco ayudó. También probé el JDBC3 pero tampoco tuve suerte allí.

Miré el Driver JDBC PostgreSQL con Android que proporcionaba una respuesta vaga que decía que sería mejor usar HTTP + JSON. Que nunca he usado

Soy nuevo en Android, postgresql, desarrollo web, por lo que una respuesta simple sería apreciada.


Es un tema CLASSPATH; el controlador PostgreSQL JDBC no está disponible cuando el cargador de clases intenta cargarlo. Debe agregarlo a su CLASSPATH correctamente.

Si funciona en Eclipse, es porque agregar un JAR a la ruta de compilación lo está agregando a CLASSPATH. Debe comprender cómo funciona CLASSPATH sin las ruedas de entrenamiento Eclipse para ayudarlo.


Debe colocar el paquete jar en la carpeta lib (WebContent-WEB-INF-lib), y hacer clic derecho en el paquete jar-build path-add para construir la ruta


Necesita agregar el controlador PostgreSQL JDBC en su proyecto como se menciona en Mvnrepository .

Grandle :

// http://mvnrepository.com/artifact/postgresql/postgresql compile group: ''postgresql'', name: ''postgresql'', version: ''9.0-801.jdbc4''

Maven :

<dependency> <groupId>postgresql</groupId> <artifactId>postgresql</artifactId> <version>9.0-801.jdbc4</version> </dependency>

También puede descargar el JAR e importar a su proyecto manualmente.


Suponiendo que sus dependencias están configuradas correctamente (consulte el directorio libs en la versión 17 o superior de Android SDK , como se señala en un comentario), debe poder hacer funcionar el controlador 9.2 registrándolo explícitamente con el administrador del controlador.

En lugar de:

Class.forName("org.postgresql.Driver");

Utilizar:

DriverManager.register(new org.postgresql.Driver());

(También he intentado con el jar 9.3-1100-jdbc41, pero esto no funcionaría).

Tenga en cuenta que, como explicó Craig Ringer en una respuesta a una pregunta duplicada , usar JDBC de Android rara vez es una buena idea, porque las conexiones JDBC no son adecuadas para los patrones de uso de red generalmente utilizados por los dispositivos Android.