Add comprehensive JVM module list for packaged distribution

Include all modules commonly needed by logback, coroutines, Swing,
Kotlin serialization, and networking to prevent NoClassDefFoundError
when running as a packaged .app bundle.
This commit is contained in:
Kyle Bolen
2026-08-02 18:04:27 +00:00
parent 4b6a5fccf6
commit 207f55d263

View File

@@ -46,11 +46,31 @@ compose.desktop {
copyright = "© 2026 Kyle Bolen"
modules(
"java.naming", // javax.naming — needed by logback
"java.management", // JMX — needed by logback
"java.instrument", // needed by logback
"jdk.unsupported", // needed by various reflection-based libs
"java.security.jgss", // sometimes needed by networking
// Networking and naming — needed by logback JNDI
"java.naming",
// JMX — needed by logback JMX appender
"java.management",
// Instrumentation — needed by logback/class loading
"java.instrument",
// Reflection support for Unsafe — needed by coroutines, serialization
"jdk.unsupported",
// XML processing — needed by logback XML config parser
"java.xml",
// Logging — java.util.logging bridge
"java.logging",
// Security
"java.security.jgss",
"java.security.sasl",
// Desktop/AWT (for Swing integration)
"java.desktop",
// Compiler API — sometimes needed by Kotlin reflection
"java.compiler",
// SQL — needed by some Kotlin stdlib internals
"java.sql",
// Network — needed by HTTP calls (Gitea API, pymobiledevice3)
"java.net.http",
// Preferences — used by some desktop apps
"java.prefs",
)
macOS {