Packaged desktop sidecar crashes at first DB read: jlink image omits java.sql

Aperta Adatta ai principianti
#34 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
1/5
Tempo stimato
Meno di un'ora
Idoneità per principianti
85/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
java, kotlin, sqlite

Direzione di ricerca

Apri desktop-sidecar/build.gradle.kts e ispeziona il blocco nativeDistributions, quindi riproduci il problema con ./gradlew createDistributable e il comando AgentTaskQueueSidecar pacchettizzato indicato nell’issue. Il lavoro è completato quando il sidecar pacchettizzato completa la sua prima lettura del database senza la ClassNotFoundException di java.sql.Driver.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Summary

The packaged desktop sidecar produced by the README's documented package path (./gradlew packageDistributionForCurrentOS, or createDistributable) crashes on its first database read with ClassNotFoundException: java.sql.Driver. ./gradlew run is unaffected because it runs on the full JDK.

Environment

  • macOS 15 (arm64), Temurin JDK 21.0.12
  • repo at ccb94ae25c2b286d62e7371fd4c0f7ce60e33efa

Reproduce

cd desktop-sidecar
./gradlew createDistributable
./build/compose/binaries/main/app/AgentTaskQueueSidecar.app/Contents/MacOS/AgentTaskQueueSidecar --data-dir /tmp/atq-repro
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: java/sql/Driver
	at com.block.agenttaskqueue.sidecar.TaskQueueDatabase.<clinit>(TaskQueueDatabase.kt:10)
	...
Caused by: java.lang.ClassNotFoundException: java.sql.Driver

Cause

desktop-sidecar/build.gradle.kts's nativeDistributions block declares no modules(...), so the jlink runtime image omits java.sql even though the project depends on org.xerial:sqlite-jdbc (3.53.0.0), which needs it at class-load time.

Fix

One line in the nativeDistributions block:

modules("java.sql")

Happy to send the one-line PR if that's easier.

Lingua principale
Python
Stelle
68
Fork
7
Merge medio
51m
PR unite (30g)
1

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di block/agent-task-queue

Tutte le issue di block/agent-task-queue

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.