From d7ddf3710f6aff40d0595430f5f49255c89fdca1 Mon Sep 17 00:00:00 2001 From: "Begonia, HE" <163421589+BegoniaHe@users.noreply.github.com> Date: Sun, 25 Jan 2026 04:52:35 +0100 Subject: 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 --- src-tauri/src/core/instance.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src-tauri/src/core/instance.rs') 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, // JVM参数覆盖(可选) #[serde(default)] pub memory_override: Option, // 内存设置覆盖(可选) + pub java_path_override: Option, // 实例级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())?; -- cgit v1.2.3-70-g09d2