sql >> Database >  >> RDS >> PostgreSQL

ClassNotFoundException met PostgreSQL en JDBC

De naam van de bestuurder is in orde. Het is hetzelfde als vermeld in de officiële documenten van de bestuurder. Daarom bevindt de bestuurder zich gewoon niet in het klassenpad.

Jij zegt:

Ik heb de toepassing ClassPath correct ingesteld

Aan de andere kant start je het programma door gewoon te bellen:

java JavaPostGreSQLConnectivity

In dat geval staat er geen PG-stuurprogramma op het klassenpad. Je moet het met de hand toevoegen met iets als

java -cp postgresql-jdbc4.jar JavaPostGreSQLConnectivity

BEWERKEN De vraag is gewijzigd tijdens het typen, vandaar de dubbele.

Je hebt de jar alleen in je IDE toegevoegd. Dit helpt de IDE om uw code te compileren. Als u het programma start met uw IDE, stelt de IDE ook het klassenpad voor u in. Maar als je niet via de IDE start, weet niemand het juiste classpath en moet het met de hand worden ingesteld.

Uw opties zijn:

  • start altijd via IDE
  • maak een batchscript dat de instelling van het klassenpad verbergt (algemene oplossing)
  • stel het CLASSPATH in omgevingsvariabele (schaalt niet met andere Java-applicaties)
  • maak een "Uitvoerbare Jar" en stel daar het klassenpad in. (Zoek op deze site met die term).
  • zet de pot op een plaats waar de JVM deze automatisch oppikt (bijvoorbeeld in de lib/ext directory van de JRE). Maar het vervuilen van de JRE/JDK-bibliotheken is de slechtste optie.

Opmerking:dit is allemaal basiskennis van Java en heeft niets te maken met PostgreSQL.




  1. Queryresultaten exporteren naar .csv of door tabs gescheiden bestand in SQL Server Management Studio (SSMS) - SQL Server / TSQL-zelfstudie, deel 23

  2. SELECT query retourneer 1 rij van elke groep

  3. MySQLi count(*) geeft altijd 1 . terug

  4. Bulk invoegen met SQLAlchemy ORM