mirror of
https://github.com/sbt/sbt.git
synced 2026-10-06 10:03:56 +02:00
**Problem** The native thin client discards -J JVM options before it starts the server, so sbt -J-Xmx2G starts the server with the runner's default 1 GB heap. sbt.bat does not handle -J on the command line: it passes the option to sbt as a command, which exits with "Not a valid command". Its default memory check also misses heap options given on the command line or as -XX:MaxRAM and RAM percentages, so the appended -Xmx1024m overrides them. **Solution** sbtn passes -J options to the server script, and strips -J when it starts the launcher JAR through java. A -J split out of a quoted command stays in that command, and a bare -J is dropped. sbt.bat strips -J, adds the option to the JVM options, rejoins -J-D and -J-XX values that cmd.exe splits at '=', and passes -J options on to sbtn. Its default memory check ignores quotes and checks the same options as the Unix runner. Generated-by: OpenAI Codex Generated-by: Claude Code Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>