duckdb / duckdb/duckdb-java

NoSuchMethodError: Lorg/duckdb/user/DuckDBMap;.getSQLTypeName()Ljava/lang/String

Offen
#478 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
127
Forks
80
Ø Merge
13 Std. 49 Min.
Gemergte PRs (30 T.)
48

Beschreibung

I am using duckDB java client in a Kotlin Multiplatform app for desktop on MacOS.

```
val db = DuckDBConnection.newConnection("jdbc:duckdb:/Users/jasperpaterson/test.duckdb", readOnly=true, null)
```

When I run in development with `./gradlew :composeApp:run` the connection works and I can query the duckdb file. However, when I run `./gradlew runReleaseDistributable` I get

```
Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: Lorg/duckdb/user/DuckDBMap;.getSQLTypeName()Ljava/lang/String;
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(Unknown Source)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source)
at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.base/java.lang.Runtime.load0(Unknown Source)
at java.base/java.lang.System.load(Unknown Source)
at org.duckdb.DuckDBNative.unpackAndLoad(DuckDBNative.java:119)
at org.duckdb.DuckDBNative.loadNativeLibrary(DuckDBNative.java:46)
at org.duckdb.DuckDBNative.(DuckDBNative.java:32)
at org.duckdb.DuckDBConnection.newConnection(DuckDBConnection.java:62)
at org.duckdb.DuckDBConnection.newConnection(DuckDBConnection.java:51)
at com.example.auroracat_desktop.util.UtilKt.getDuckDBConnection(Util.kt:171)
at com.example.auroracat_desktop.util.UtilKt.getDuckDBConnection$default(Util.kt:166)
```

### Versions
composeMultiplatform = "1.8.2"
kotlin = "2.2.0"
duckdb = "1.4.3.0"

### Edit

I also tried on Windows and I get the same behaviour

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit dem Vergleich der von :composeApp:run und runReleaseDistributable erzeugten Laufzeitabhängigkeiten und untersuche anschließend DuckDBNative.java:119 und DuckDBConnection.newConnection im fehlschlagenden Release-Pfad. Reproduziere das Problem auf dem gemeldeten MacOS- oder Windows-Setup und ermittle, warum die Release-Laufzeit eine inkompatible DuckDBMap-Methode auflöst; abgeschlossen ist die Aufgabe, wenn das Release-Distributable die Datenbank erfolgreich öffnet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, kotlin
Bereich
build-system, databases
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.