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

Đang mở Phù hợp với người mới
#34 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
1/5
Thời gian dự kiến
Dưới một giờ
Mức phù hợp với người mới
85/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
java, kotlin, sqlite
Lĩnh vực
build-system, database, desktop

Hướng nghiên cứu

Mở desktop-sidecar/build.gradle.kts và kiểm tra block nativeDistributions, sau đó tái hiện bằng ./gradlew createDistributable và lệnh AgentTaskQueueSidecar đã đóng gói được nêu trong issue. Được xem là hoàn tất khi sidecar đã đóng gói thực hiện xong lần đọc cơ sở dữ liệu đầu tiên mà không gặp ClassNotFoundException của java.sql.Driver.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
Python
Star
68
Fork
7
Merge trung bình
51 phút
Pull request đã merge (30 ngày)
1

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của block/agent-task-queue

Tất cả issue của block/agent-task-queue

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.