aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src-tauri/src/core/instance.rs
diff options
context:
space:
mode:
authorBegonia, HE <163421589+BegoniaHe@users.noreply.github.com>2026-01-25 04:52:35 +0100
committerBegonia, HE <163421589+BegoniaHe@users.noreply.github.com>2026-01-29 02:53:33 +0100
commitd7ddf3710f6aff40d0595430f5f49255c89fdca1 (patch)
treedad7408e179479393ea01bda57fbf3f0a9346de6 /src-tauri/src/core/instance.rs
parenta17d94168440ce91703069fc6027dc766e0d8998 (diff)
downloadDropOut-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.rs3
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())?;