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

オープン 初心者向け
#34 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
1/5
見積もり時間
1時間未満
初心者へのやさしさ
85/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
静か
技術スタック
java, kotlin, sqlite

調査の方向性

desktop-sidecar/build.gradle.kts を開いて nativeDistributions ブロックを確認し、Issue に記載された ./gradlew createDistributable とパッケージ化された AgentTaskQueueSidecar コマンドを使って再現します。パッケージ化された sidecar が java.sql.Driver の ClassNotFoundException なしで最初のデータベース読み取りを完了すれば完了です。

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Python
スター
68
フォーク
7
平均マージ
51分
マージ済み PR(30日)
1

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

block/agent-task-queue のほかの issue

block/agent-task-queue の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。