duckdb / duckdb/duckdb-java

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

Abierto
#478 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C++
Estrellas
127
Forks
80
Merge medio
13 h 49 min
PR fusionados (30 d)
48

Descripción

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

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza comparando las dependencias de ejecución producidas por :composeApp:run y runReleaseDistributable; después inspecciona DuckDBNative.java:119 y DuckDBConnection.newConnection en la ruta de release que falla. Reproduce el problema en la configuración de MacOS o Windows indicada y determina por qué el runtime de release resuelve un método incompatible de DuckDBMap; se considera terminado cuando el distributable de release abre la base de datos correctamente.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java, kotlin
Área
build-system, databases
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
42/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.