`Caused by: java.lang.ClassNotFoundException: org.postgresql.Driver` Ale klasa jest w Jarze

0

Taka sytuacja. Końcówka Stacktrace wygląda

Caused by: java.lang.ClassNotFoundException: org.postgresql.Driver
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        at com.zaxxer.hikari.HikariConfig.setDriverClassName(HikariConfig.java:317)

Klasa niby jest w Jarze

jar tf brzydki.jar | grep postgresql/Driver
org/postgresql/Driver$1.class
org/postgresql/Driver$ConnectThread.class
org/postgresql/Driver.class

Ale w runtime jej nie widzi. Aktuanie wgrywam nową wersję apki na nowe środowisko i jestem trochę zdziwiony jak bardzo wszystko się sypie, heh

Czy to może upgrade Javy?

java -version
openjdk version "11.0.13" 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)

?
wcześniej była 8

0

Możesz wrzucić tego jara?

0

Może to coś związanego z różnicami w działaniu ClassLoaderów z java 9? Próbowałeś podbić tą libkę hikari do najnowszej wersji?

1
  1. Klasa jest w jarze, ale czy jar jest w classpath? ;)
  2. Dodanie do jvma: -XX:+TraceClassLoading coś więcej pokazuje?
  3. Ten sterownik podstgresa, to na której Javie został zbudowany? Rozpakowałbym jara i albo META-INF/MANIFEST.MF albo
    javap -verbose org/postgresql/Driver.class | grep -i version
0

Klasa jest w jarze, ale czy dobiera się do niej właściwy classloader? Jeśli masz jakieś porypane rzeczy takie jak tomcat, javaee, osgi to niestety dochodzi problem classloaderów.

0

Takim podstawowym krokiem w tych sytuacjach jest sprawdzenie, czy klasa się ładuje i czy robi to tylko raz.
Dorzuć --verbose:class w linii komend i sprawdź czy będzie postgres.Driver w logach.

Aaa, no i taka luźna myśl: nie korzystasz z czegoś w stylu minimizeJar?

1 użytkowników online, w tym zalogowanych: 0, gości: 1