diff options
| author | 2026-01-25 04:52:35 +0100 | |
|---|---|---|
| committer | 2026-01-29 02:53:33 +0100 | |
| commit | d7ddf3710f6aff40d0595430f5f49255c89fdca1 (patch) | |
| tree | dad7408e179479393ea01bda57fbf3f0a9346de6 /src-tauri/src/core/instance.rs | |
| parent | a17d94168440ce91703069fc6027dc766e0d8998 (diff) | |
| download | DropOut-d7ddf3710f6aff40d0595430f5f49255c89fdca1.tar.gz DropOut-d7ddf3710f6aff40d0595430f5f49255c89fdca1.zip | |
refactor(java): modularize Java detection and management system
- Split monolithic java.rs (1089 lines) into focused modules
- detection: Java installation discovery
- validation: Version validation and requirements checking
- priority: Installation selection priority logic
- provider: Java download provider trait
- providers: Provider implementations (Adoptium)
- persistence: Cache and catalog management
- Add java_path_override field to Instance struct for per-instance Java configuration
- Export JavaInstallation at core module level
This refactoring improves maintainability and prepares for multi-vendor Java provider support.
Reviewed-by: Claude Sonnet 4.5
Diffstat (limited to 'src-tauri/src/core/instance.rs')
| -rw-r--r-- | src-tauri/src/core/instance.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src-tauri/src/core/instance.rs b/src-tauri/src/core/instance.rs index e7746b2..e842ec9 100644 --- a/src-tauri/src/core/instance.rs +++ b/src-tauri/src/core/instance.rs @@ -34,6 +34,7 @@ pub struct Instance { pub jvm_args_override: Option<String>, // JVM参数覆盖(可选) #[serde(default)] pub memory_override: Option<MemoryOverride>, // 内存设置覆盖(可选) + pub java_path_override: Option<String>, // 实例级Java路径覆盖(可选) } /// Memory settings override for an instance @@ -127,6 +128,7 @@ impl InstanceState { mod_loader_version: None, jvm_args_override: None, memory_override: None, + java_path_override: None, }; let mut config = self.instances.lock().unwrap(); @@ -283,6 +285,7 @@ impl InstanceState { last_played: None, jvm_args_override: source_instance.jvm_args_override.clone(), memory_override: source_instance.memory_override.clone(), + java_path_override: source_instance.java_path_override.clone(), }; self.update_instance(new_instance.clone())?; |