feat(java): Termux 上自动安装系统 openjdk(内置镜像 + 隔离 apt 状态)
- 新增 game::java::termux:内置 SAU/TUNA/USTC/官方四个 termux-main 镜像, 按顺序 apt-get update+install;lists/cache 隔离在 $PREFIX/tmp/ull-java-termux, 不改用户 apt 配置;装完从 $PREFIX/lib/jvm 定位,幂等(已装则不走网络) - JdkVendor 增加 termux(17/21/25),--vendor termux 只走系统包; Termux 上缺省安装先试系统包,失败再走归档链并带出每一跳原因 - standard_roots 已能扫 $PREFIX/lib/jvm(上一条提交),装完即被 java list 发现 - CLI/presenter 的 vendor 展示与帮助文案同步;设置白名单与契约测试同步 - 文档补 Termux 上的 Java 行为
This commit is contained in:
1 parent
16c61ca8b7
commit
c9efdf0fd1
11 files changed
+379
-11
No files matched your search
@@ -34,8 +34,8 @@ pub const fn general() -> &'static str {
|
||||
config set <key> <value> 写配置(走 setting schema 校验)
|
||||
java list 列出可用 Java(含每个 JDK 的实际落点)
|
||||
java install <major> [--vendor X] 安装托管 JDK(缺省按地区回退链选发行版;
|
||||
--vendor temurin|oracle|microsoft|zulu 钉死一家)
|
||||
java vendors 列出四家发行版的镜像/支持版本/当前优先级
|
||||
--vendor temurin|oracle|microsoft|zulu|termux 钉死一家)
|
||||
java vendors 列出各发行版的镜像/支持版本/当前优先级
|
||||
agent serve [--stdio] [--port N] 起对外 MCP server(默认 127.0.0.1 的 Streamable HTTP;
|
||||
[--allow-write] --stdio 给 llama.cpp 内置 client 用;默认只读)
|
||||
agent config [--port N] 打印 Claude Code / Cursor 的配置样例
|
||||
@@ -157,7 +157,7 @@ authlib-injector 账户的密码登录留给 GUI(密码进 argv 会泄露,CL
|
||||
%prog% java list 探测 JAVA_HOME / PATH / 托管目录 / 实例覆盖里的 Java
|
||||
并打印每个 JDK 的实际落点(managed 项带目录)
|
||||
%prog% java install <major> [--vendor X] 安装托管 JDK(D13/D23):回退链查版本 → 下载 → 解压 → 验证
|
||||
%prog% java vendors 列出四家发行版的镜像/支持版本/当前优先级顺序
|
||||
%prog% java vendors 列出各发行版的镜像/支持版本/当前优先级顺序
|
||||
|
||||
落点(D23 三模式,随 core.data_mode 与设置键 java.installRoot 走):
|
||||
portable(默认) <数据根>/.ULL/data/java-managed/jdk-<major>-<vendor>/
|
||||
@@ -168,7 +168,9 @@ authlib-injector 账户的密码登录留给 GUI(密码进 argv 会泄露,CL
|
||||
发行版回退链(D23):国内 temurin(TUNA) → oracle(华为云→南大) → microsoft(aka.ms)
|
||||
→ zulu;国外 temurin → microsoft → oracle → zulu。设置 java.vendorPriority 可改顺序
|
||||
(只写几家也行,其余按默认序补齐);--vendor 钉死一家、不自动降级。
|
||||
每家失败的原因(版本不存在 / 镜像全 4xx / 校验失败)进 --json 的 chain 块与人读的「降级:」行。",
|
||||
Termux 上缺省先用系统包(pkg install openjdk-<major>,支持 17/21/25),失败再走归档链;
|
||||
--vendor termux 只走系统包。每家失败的原因(版本不存在 / 镜像全 4xx / 校验失败)进
|
||||
--json 的 chain 块与人读的「降级:」行。",
|
||||
),
|
||||
"agent" => Some(
|
||||
"\
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
use serde_json::{json, Value};
|
||||
use unlucky_core::download::MirrorTable;
|
||||
use unlucky_core::game::java::{vendor, JdkVendor};
|
||||
use unlucky_core::game::java::{termux, vendor, JdkVendor};
|
||||
|
||||
use super::java::{region_profile, JavaSettings};
|
||||
use crate::context::Ctx;
|
||||
@@ -114,6 +114,10 @@ fn vendor_json(table: &MirrorTable, item: JdkVendor, index: usize) -> Value {
|
||||
.zulu()
|
||||
.map(|zulu| vec![format!("{}({})", zulu.api, zulu.measured_speed)])
|
||||
.unwrap_or_default(),
|
||||
JdkVendor::Termux => termux::MIRRORS
|
||||
.iter()
|
||||
.map(|mirror| format!("{mirror}(系统包:pkg install openjdk-<major>)"))
|
||||
.collect(),
|
||||
};
|
||||
json!({
|
||||
"rank": index + 1,
|
||||
|
||||
Reference in new issue
Block a user