diff --git a/_launcher/jvm-options.md b/_launcher/jvm-options.md new file mode 100644 index 0000000..56d6a6b --- /dev/null +++ b/_launcher/jvm-options.md @@ -0,0 +1,113 @@ +--- +title: "JVM 选项与环境变量" +permalink: /launcher/jvm-options-and-env.html +date: 2025-04-20 23:18:02 +0800 +categories: 启动器 +toc: true +--- + +![Hits](https://hits.zkitefly.eu.org/?tag=https%3A%2F%2Fdocs.hmcl.net%2Flauncher%2Fjvm-options.html) + +## JVM 选项 + +HMCL 提供了一些 JVM 选项用于调试目的。你可以通过在启动 HMCL 时添加这些参数来使用这些功能。 + +| 参数 | 描述 | +|------|------| +| `-Dhmcl.home=` | 覆盖 HMCL 数据文件夹路径 | +| `-Dhmcl.self_integrity_check.disable=true` | 禁用启动器更新时的本体完整性检查 | +| `-Dhmcl.bmclapi.override=` | 自定义 BMCLAPI 的 API Root 地址(默认为 `https://bmclapi2.bangbang93.com`)| +| `-Dhmcl.font.override=` | 指定启动器使用的字族 | +| `-Dhmcl.version.override=` | 手动指定启动器版本号 | +| `-Dhmcl.update_source.override=` | 自定义 HMCL 更新源地址 | +| `-Dhmcl.authlibinjector.location=` | 指定本地 authlib-injector 路径,不从网络下载 | +| `-Dhmcl.openjfx.repo=` | 添加用于下载 OpenJFX 的自定义 Maven 仓库地址(默认为 `https://repo1.maven.org/maven2`)| +| `-Dhmcl.native.encoding=` | 指定系统原生编码 | +| `-Dhmcl.microsoft.auth.id=` | 自定义 Microsoft OAuth 应用程序 ID | +| `-Dhmcl.microsoft.auth.secret=` | 自定义 Microsoft OAuth 应用程序密钥 | +| `-Dhmcl.curseforge.apikey=` | 自定义 CurseForge API 密钥 | +| `-Dhmcl.discoapi.override=` | 自定义 DiscoAPI 的 API Root 地址(默认为 `https://api.foojay.io/disco/v3.0`)| + +## 环境变量 + +HMCL/HMCLauncher 也支持一些环境变量来配置启动器的行为。你可以在系统环境变量中添加这些变量。 + +| 参数 | 描述 | +|------|------| +| `HMCL_JAVA_OPTS` | 自定义 HMCLauncher 所使用的 JVM 启动参数(默认为 `-XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=15`)| +| `HMCL_JAVA_HOME` | 自定义 HMCLauncher 所使用的 Java 路径 | +| `HMCL_FONT` | 指定启动器使用的字族 | +| `HMCL_JRES` | 添加 HMCL 所使用的 Java 路径,支持写入多个路径 | + +## 如何使用 JVM 选项 + +你可以通过以下几种方式使用这些 JVM 选项。 + +### 方法一:直接在命令行中添加 + +在启动 HMCL 时通过命令行添加参数,例如: + +```bash +java -Dhmcl.home="D:/Games/HMCL" -jar HMCL.jar +``` + +### 方法二:创建启动脚本 + +1. Windows 用户可以创建 `.cmd` 文件: +```batch +@echo off +java -Dhmcl.font.override="Microsoft YaHei" -jar HMCL.jar +pause +``` + +2. Linux/macOS 用户可以创建 `.sh` 文件: +```bash +#!/bin/bash +java -Dhmcl.font.override="Noto Sans CJK SC" -jar HMCL.jar +``` + +### 使用注意事项 + +- 可以同时使用多个参数,只需要用空格分隔 +- 包含空格的参数值需要用半角引号包裹 +- 确保 JVM 参数位于 `-jar HMCL.jar` 之前 + +## 如何使用环境变量 + +### Windows 设置环境变量 + +1. 右键点击“此电脑”/“这台电脑”/“我的电脑”,选择“属性” +2. 点击“高级系统设置” +3. 点击“环境变量” +4. 在“用户变量”或“系统变量”中点击“新建” +5. 输入变量名(如 `HMCL_JAVA_HOME`)和变量值 +6. 点击“确定”保存 + +示例值: +``` +变量名: HMCL_JAVA_HOME +变量值: C:\Program Files\Java\jdk-17 +``` + +### Linux/macOS 设置环境变量 + +1. 编辑你的 Shell 配置文件(比如 `~/.bashrc`、`~/.zshrc` 等) +2. 添加 `export` 语句: + +```bash +export HMCL_JAVA_HOME="/usr/lib/jvm/java-17-openjdk" +export HMCL_JAVA_OPTS="-XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=15" +``` + +3. 保存文件并重新加载配置: +```bash +source ~/.bashrc # 或 `source ~/.zshrc` +``` + +### 使用注意事项 + +- 设置环境变量后需要重启 HMCL 才能生效 +- 如果同时设置了 JVM 参数和环境变量,JVM 参数优先级更高 +- Windows 用户注意使用半角分号(;)分隔多个路径 +- Linux/macOS 用户注意使用半角冒号(:)分隔多个路径 +