Java.lang.ClassNotFoundException: org.postgresql.Driver, Android

Estoy ejecutando Eclipse en Windows.

Después de este tutorial descargé JDBC4, lo agregué a mi ruta de construcción usando Project> Properties> add JAR Externo, buscado para el archivo, funcionó (el archivo .classpath muestra la ruta correcta de lib).

El paquete aparece en mi carpeta 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 golpeó con esta gran pila larga de traza a partir de

  java.lang.ClassNotFoundException: org.postgresql.Driver 

(Puedo proporcionar más si es necesario)

He intentado include org.postgresql.*; Pero eso tampoco ayudó. También he probado el JDBC3 pero tampoco hay suerte allí.

Miré Driver JDBC PostgreSQL con Android que proporcionó una respuesta vaga diciendo que sería mejor sólo con HTTP + JSON. Lo que nunca he usado.

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

Debe poner el paquete jar en la carpeta lib (WebContent-WEB-INF-lib) y hacer clic con el botón derecho en el paquete jar package-build path-add to build path

Debe agregar el controlador JDBC de PostgreSQL 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.

Es un problema CLASSPATH; El controlador JDBC de PostgreSQL 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 construcción es añadirlo al CLASSPATH. Tienes que entender cómo funciona CLASSPATH sin las ruedas de entrenamiento de Eclipse para ayudarte.

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

Suponiendo que sus dependencias están correctamente configuradas (vea el directorio de libs en Android SDK versión 17 o superior , como se señala en un comentario), debería ser capaz de conseguir que el controlador 9.2 funcione registrándolo explícitamente con el gestor de controladores.

En lugar de:

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

Utilizar:

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

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

Tenga en cuenta que, como explicó Craig Ringer en una respuesta a una pregunta duplicada , el uso de JDBC desde Android raramente es una buena idea, ya que las conexiones JDBC no se adaptan bien a los patrones de uso de red generalmente utilizados por los dispositivos Android.

  • "Tag <Activity> nombre de atributo tiene un carácter no válido". "Android Mainfest
  • Android: reconstruir ahora requiere nivel de cumplimiento del compilador 5.0 o 6.0. Se encontró '1.7' en su lugar. ¿Por qué eliminar de @Override?
  • Android obtiene PID de otras aplicaciones
  • Encuentra la caja de encuadernación de un conjunto de Geopuntos Mapbox
  • Cómo probar la interacción simulada en Activity onResume () ¿Utilizando Dagger Modules y Robolectric?
  • Pase ArrayList desde el módulo android a núcleo en libgdx
  • ¿Enfoque para la fijación de NoClassDefFoundError?
  • HttpURLConnection en android no envía el encabezado User-Agent correcto
  • Cómo Java Binding para Dbus para ejecutarse en Android
  • Eclipse ADT Error: No se puede ejecutar programa adb
  • Actualizar los contenidos de recyclerview fallan en la hoja inferior
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.