PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

ClassNotFoundException с PostgreSQL и JDBC

Името на драйвера е ОК. Това е същото, както е посочено в официалните документи на драйвера. Следователно драйверът просто не е в пътя към класа.

Вие казвате:

[...] правилно настроих приложението ClassPath

От друга страна стартирате програмата, като просто извикате:

java JavaPostGreSQLConnectivity

В този случай няма PG драйвер в пътя към класа. Трябва да го добавите на ръка, като използвате нещо като

java -cp postgresql-jdbc4.jar JavaPostGreSQLConnectivity

РЕДАКТИРАНЕ Въпросът е променен, докато пишете, оттук и дублирането.

Добавихте буркана само във вашата IDE. Това помага на IDE да компилира вашия код. Ако стартирате програмата, използвайки своя IDE, тогава IDE ще зададе и пътя към класа вместо вас. Но ако не стартирате през IDE, тогава никой не знае правилния път към класа и той трябва да бъде зададен на ръка.

Вашите опции са:

  • стартирайте винаги през IDE
  • направете някакъв пакетен скрипт, който скрива настройката на пътя към класа (общо решение)
  • задайте CLASSPATH променлива на средата (не се мащабира с други Java приложения)
  • направете „Executable Jar“ и задайте пътя на класа там. (Търсете в този сайт, използвайки този термин).
  • поставете буркана на място, където JVM го взема автоматично (напр. в lib/ext директория на JRE). Но замърсяването на JRE/JDK библиотеките е най-лошият вариант.

Забележка:Всичко това е основно познаване на Java и няма нищо общо с PostgreSQL.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да възстановим PostgreSQL дъмп файл в Postgres бази данни?

  2. Как да актуализирам всички колони с INSERT ... ON CONFLICT ...?

  3. Най-добрият начин да изтриете милиони редове по ID

  4. Намерете n най-близки съседи за дадена точка с помощта на PostGIS?

  5. Как Postgresql COPY TO STDIN с CSV се актуализира при конфликт?