Repository navigation
v0.9.11
feat: jdtls Maven settings + stable cache invalidation
Fix 1: Send proper Maven import settings to jdtls
jdtls now receives initializationOptions.settings with:
- Maven import enabled, Gradle disabled
- Import exclusions for build artifacts (
**/target/**, etc.) - Automatic build configuration updates
Previously jdtls received zero settings, causing files to be treated as "non-project" with no Maven classpath resolution. Configurable via .java-functional-lsp.json:
{"jdtls": {"settings": {"java": {"import": {"maven": {"enabled": true}}}}}}Fix 2: Stable cache invalidation
Cache marker changed from Python __version__ to resolved jdtls path hash + Java version. pip/brew upgrades of java-functional-lsp no longer wipe ~/.cache/jdtls-data/. Only jdtls binary upgrades or Java version changes trigger a cache wipe. Warm starts preserved (~10-20s vs 60-120s cold).
Also includes (from v0.9.10)
- Cross-Maven-group workspace expansion (multi-group support)
- Hard cap of 5 concurrent groups to prevent jdtls OOM
@lru_cacheon_find_maven_group_root