sql >> Base de Datos >  >> RDS >> PostgreSQL

ClassNotFoundException con PostgreSQL y JDBC

El nombre del controlador está bien. Es lo mismo que se menciona en los documentos oficiales del controlador. Por lo tanto, el controlador simplemente no está en el classpath.

Tu dices:

Configuré correctamente la aplicación ClassPath

Por otro lado, inicias el programa simplemente llamando:

java JavaPostGreSQLConnectivity

En ese caso, no hay ningún controlador PG en el classpath. Tienes que agregarlo a mano usando algo como

java -cp postgresql-jdbc4.jar JavaPostGreSQLConnectivity

EDITAR La pregunta se modificó mientras se escribía, de ahí la duplicación.

Agregaste el jar solo en tu IDE. Esto ayuda al IDE a compilar su código. Si inicia el programa utilizando su IDE, el IDE también establecerá el classpath por usted. Pero si no comienza a través del IDE, nadie conoce la ruta de clase correcta y debe configurarse a mano.

Sus opciones son:

  • empezar siempre a través de IDE
  • haga un script por lotes que oculte la configuración de classpath (solución común)
  • establecer el CLASSPATH variable de entorno (no escala con otras aplicaciones Java)
  • cree un "Jarra ejecutable" y configure el classpath allí. (Busque este sitio usando ese término).
  • coloque el contenedor en un lugar donde la JVM lo recoja automáticamente (por ejemplo, en lib/ext directorio de la JRE). Pero contaminar las librerías JRE/JDK es la peor opción.

Nota:Todo esto es conocimiento básico de Java y no tiene nada que ver con PostgreSQL.