NoSuchMethodError: Lorg/duckdb/user/DuckDBMap;.getSQLTypeName()Ljava/lang/String
- 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