mirror of
https://gitee.com/huanghongxun/HMCL-docs.git
synced 2026-03-19 10:35:26 +08:00
13 lines
16 KiB
HTML
13 lines
16 KiB
HTML
<!doctype html><html lang="zh" class="no-js"><head><meta charset="utf-8"><title>JVM 选项与环境变量 - HMCL 文档</title><meta name="description" content="配置 JVM 参数和环境变量的说明"><meta property="og:type" content="article"><meta property="og:locale" content="zh"><meta property="og:site_name" content="HMCL 文档"><meta property="og:title" content="JVM 选项与环境变量"><meta property="og:url" content="https://docs.hmcl.net/launcher/jvm-options-and-env.html"><meta property="og:description" content="配置 JVM 参数和环境变量的说明"><meta property="article:published_time" content="2025-04-20T23:18:02+08:00"><link rel="canonical" href="https://docs.hmcl.net/launcher/jvm-options-and-env.html"><link href="/feed.xml" type="application/atom+xml" rel="alternate" title="HMCL 文档 Feed"><meta name="viewport" content="width=device-width, initial-scale=1.0"> <script> document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js '; window.enable_copy_code_button = true; </script><link rel="stylesheet" href="/assets/css/main.css"><link rel="stylesheet" href="/assets/lib/fontawesome/css/all.min.css"> <noscript><link rel="stylesheet" href="/assets/lib/fontawesome/css/all.min.css"></noscript> <script src="/assets/js/settings.js"></script> <script src="/assets/js/theme.js"></script><link rel="shortcut icon" href="/favicon.ico"><link rel="stylesheet" id="skin"></head><body class="layout--document" dir="ltr"><nav class="skip-links"><ul><li><a href="#site-nav" class="screen-reader-shortcut">转到主导航栏</a></li><li><a href="#main" class="screen-reader-shortcut">转到内容</a></li><li><a href="#footer" class="screen-reader-shortcut">转到底部</a></li></ul></nav><div class="masthead"><div class="masthead__inner-wrap"><div class="masthead__menu"><nav id="site-nav" class="greedy-nav"> <a class="site-logo" href="/"><img src="/assets/img/hmcl.png" alt="HMCL 文档"></a> <a class="site-title" href="/"> HMCL 文档 </a><ul class="visible-links"><li class="masthead__menu-item"> <a href="/settings.html" >设置</a></li></ul><button class="greedy-nav__toggle hidden" type="button"> <span class="visually-hidden">切换菜单</span><div class="navicon"></div></button><ul class="hidden-links hidden"></ul></nav></div></div></div><div class="initial-content"><div id="main" role="main"><div class="sidebar sticky"><nav class="nav__list"> <input id="ac-toc" name="accordion-toc" type="checkbox" /> <label for="ac-toc">切换菜单</label><ul class="nav__items"><li> <span class="nav__sub-title">问题集合</span><ul><li><a href="/faq.html">常见问题</a></li><li><a href="/launcher/">启动器使用相关</a></li><li><a href="/modpack/">整合包帮助</a></li><li><a href="/multiplayer/">多人联机帮助</a></li></ul></li><li> <span class="nav__sub-title">使用者帮助</span><ul><li><a href="/launcher/isolation.html">版本隔离</a></li><li><a href="/launcher/offline-skin.html">设置离线皮肤</a></li><li><a href="/launcher/auto-installing.html">HMCL 的自动安装使用教程</a></li><li><a href="/launcher/shader.html">安装光影</a></li><li><a href="/launcher/set-item-details.html">设置项详解</a></li></ul></li><li> <span class="nav__sub-title">开发者帮助</span><ul><li><a href="/launcher/datapack.html">制作 HMCL 格式的数据包</a></li><li><a href="/modpack/serverpack.html">制作整合包</a></li><li><a href="/launcher/authlib-injector.html">添加默认 authlib-injector 验证服务器</a></li></ul></li><li> <span class="nav__sub-title">更新日志</span><ul><li><a href="/changelog/stable.html">稳定版</a></li><li><a href="/changelog/dev.html">开发版</a></li></ul></li><li> <span class="nav__sub-title">其他</span><ul><li><a href="/eula/hmcl.html">用户协议</a></li><li><a href="/contribution.html">贡献指南</a></li><li><a href="https://hmcl.huangyuhui.net">项目官网</a></li><li><a href="https://github.com/HMCL-dev/HMCL">项目仓库</a></li><li><a href="https://github.com/HMCL-dev/HMCL-docs">文档仓库</a></li></ul></li></ul></nav></div><article class="page" itemscope itemtype="https://schema.org/CreativeWork"><meta itemprop="headline" content="JVM 选项与环境变量"><meta itemprop="description" content="配置 JVM 参数和环境变量的说明"><meta itemprop="datePublished" content="2025-04-20T23:18:02+08:00"><div class="page__inner-wrap"><header><h1 id="page-title" class="page__title" itemprop="headline"> <a href="https://docs.hmcl.net/launcher/jvm-options-and-env.html" itemprop="url">JVM 选项与环境变量 </a></h1></header><section class="page__content" itemprop="text"><aside class="sidebar__right sticky"><nav class="toc"><header><h4 class="nav__title"><i class="fas fa-file-alt"></i> 目录</h4></header><ul class="toc__menu"><li><a href="#jvm-选项">JVM 选项</a></li><li><a href="#环境变量">环境变量</a></li><li><a href="#如何使用-jvm-选项">如何使用 JVM 选项</a><ul><li><a href="#方法一直接在命令行中添加">方法一:直接在命令行中添加</a></li><li><a href="#方法二创建启动脚本">方法二:创建启动脚本</a></li><li><a href="#使用注意事项">使用注意事项</a></li></ul></li><li><a href="#如何使用环境变量">如何使用环境变量</a><ul><li><a href="#windows-设置环境变量">Windows 设置环境变量</a></li><li><a href="#linuxmacos-设置环境变量">Linux/macOS 设置环境变量</a></li><li><a href="#使用注意事项-1">使用注意事项</a></li></ul></li></ul></nav></aside><img src="https://hits.zkitefly.eu.org/?tag=https%3A%2F%2Fdocs.hmcl.net%2Flauncher%2Fjvm-options-and-env.html" alt="Hits" decoding="async"><div class="notice--info"><p>本文由 未署名用户 创建。</p></div><h2 id="jvm-选项">JVM 选项</h2><p>HMCL 提供了一些 JVM 选项用于调试目的。你可以通过在启动 HMCL 时添加这些参数来使用这些功能。</p><table><thead><tr><th>参数</th><th>描述</th></tr></thead><tbody><tr><td><code class="language-plaintext highlighter-rouge">-Dhmcl.home=<path></code></td><td>覆盖 HMCL 全局数据文件夹路径</td></tr><tr><td><code class="language-plaintext highlighter-rouge">-Dhmcl.dir=<path></code></td><td>覆盖 HMCL 工作路径下的 .hmcl 文件夹路径</td></tr><tr><td><code class="language-plaintext highlighter-rouge">-Dhmcl.self_integrity_check.disable=true</code></td><td>禁用启动器更新时的本体完整性检查</td></tr><tr><td><code class="language-plaintext highlighter-rouge">-Dhmcl.bmclapi.override=<url></code></td><td>自定义 BMCLAPI 的 API Root 地址(默认为 <code class="language-plaintext highlighter-rouge">https://bmclapi2.bangbang93.com</code>)</td></tr><tr><td><code class="language-plaintext highlighter-rouge">-Dhmcl.font.override=<font family></code></td><td>指定启动器使用的字族</td></tr><tr><td><code class="language-plaintext highlighter-rouge">-Dhmcl.version.override=<version></code></td><td>手动指定启动器版本号</td></tr><tr><td><code class="language-plaintext highlighter-rouge">-Dhmcl.update_source.override=<url></code></td><td>自定义 HMCL 更新源地址</td></tr><tr><td><code class="language-plaintext highlighter-rouge">-Dhmcl.authlibinjector.location=<path></code></td><td>指定本地 authlib-injector 路径,不从网络下载</td></tr><tr><td><code class="language-plaintext highlighter-rouge">-Dhmcl.openjfx.repo=<maven repository url></code></td><td>添加用于下载 OpenJFX 的自定义 Maven 仓库地址(默认为 <code class="language-plaintext highlighter-rouge">https://repo1.maven.org/maven2</code>)</td></tr><tr><td><code class="language-plaintext highlighter-rouge">-Dhmcl.native.encoding=<encoding></code></td><td>指定系统原生编码</td></tr><tr><td><code class="language-plaintext highlighter-rouge">-Dhmcl.microsoft.auth.id=<App ID></code></td><td>自定义 Microsoft OAuth 应用程序 ID</td></tr><tr><td><code class="language-plaintext highlighter-rouge">-Dhmcl.microsoft.auth.secret=<App Secret></code></td><td>自定义 Microsoft OAuth 应用程序密钥</td></tr><tr><td><code class="language-plaintext highlighter-rouge">-Dhmcl.curseforge.apikey=<key></code></td><td>自定义 CurseForge API 密钥</td></tr><tr><td><code class="language-plaintext highlighter-rouge">-Dhmcl.discoapi.override=<url></code></td><td>自定义 DiscoAPI 的 API Root 地址(默认为 <code class="language-plaintext highlighter-rouge">https://api.foojay.io/disco/v3.0</code>)</td></tr><tr><td><code class="language-plaintext highlighter-rouge">-Dhmcl.native.backend=<auto/jna/none></code></td><td>指定 HMCL 的本地后端类型。可选值:<br>- <code class="language-plaintext highlighter-rouge">auto</code>:自动选择(Windows 7+ 使用 JNA,其他系统不使用)<br>- <code class="language-plaintext highlighter-rouge">jna</code>:强制使用 JNA(如果 JNA 不可用会抛出异常)<br>- <code class="language-plaintext highlighter-rouge">none</code>:禁用 JNA<br>默认值:<code class="language-plaintext highlighter-rouge">auto</code></td></tr><tr><td><code class="language-plaintext highlighter-rouge">-Dhmcl.hardware.fastfetch=<true/false></code></td><td>是否使用 fastfetch 获取设备信息。默认值:<code class="language-plaintext highlighter-rouge">true</code></td></tr></tbody></table><h2 id="环境变量">环境变量</h2><p>HMCL/HMCLauncher 也支持一些环境变量来配置启动器的行为。你可以在系统环境变量中添加这些变量。</p><table><thead><tr><th>参数</th><th>描述</th></tr></thead><tbody><tr><td><code class="language-plaintext highlighter-rouge">HMCL_JAVA_OPTS</code></td><td>自定义 HMCLauncher 所使用的 JVM 启动参数(默认为 <code class="language-plaintext highlighter-rouge">-XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=15</code> 或 <code class="language-plaintext highlighter-rouge">-Xmx1G -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=15</code>)</td></tr><tr><td><code class="language-plaintext highlighter-rouge">HMCL_JAVA_HOME</code></td><td>自定义 HMCLauncher 所使用的 Java 路径</td></tr><tr><td><code class="language-plaintext highlighter-rouge">HMCL_FONT</code></td><td>指定启动器使用的字族</td></tr><tr><td><code class="language-plaintext highlighter-rouge">HMCL_JRES</code></td><td>添加 HMCL 所使用的 Java 路径,支持写入多个路径</td></tr></tbody></table><h2 id="如何使用-jvm-选项">如何使用 JVM 选项</h2><p>你可以通过以下几种方式使用这些 JVM 选项。</p><h3 id="方法一直接在命令行中添加">方法一:直接在命令行中添加</h3><p>在启动 HMCL 时通过命令行添加参数,例如:</p><div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>java <span class="nt">-Dhmcl</span>.home<span class="o">=</span><span class="s2">"D:/Games/HMCL"</span> <span class="nt">-jar</span> HMCL.jar
|
||
</code></pre></div></div><h3 id="方法二创建启动脚本">方法二:创建启动脚本</h3><ol><li>Windows 用户可以创建 <code class="language-plaintext highlighter-rouge">.cmd</code> 文件:<div class="language-batch highlighter-rouge"><div class="highlight"><pre class="highlight"><code>@echo <span class="na">off</span>
|
||
<span class="kd">java</span> <span class="na">-Dhmcl</span>.font.override<span class="o">=</span><span class="s2">"Microsoft YaHei"</span> <span class="na">-jar </span><span class="kd">HMCL</span>.jar
|
||
<span class="nb">pause</span>
|
||
</code></pre></div></div></li><li>Linux/macOS 用户可以创建 <code class="language-plaintext highlighter-rouge">.sh</code> 文件:<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c">#!/bin/bash</span>
|
||
java <span class="nt">-Dhmcl</span>.font.override<span class="o">=</span><span class="s2">"Noto Sans CJK SC"</span> <span class="nt">-jar</span> HMCL.jar
|
||
</code></pre></div></div></li></ol><h3 id="使用注意事项">使用注意事项</h3><ul><li>可以同时使用多个参数,只需要用空格分隔</li><li>包含空格的参数值需要用半角引号包裹</li><li>确保 JVM 参数位于 <code class="language-plaintext highlighter-rouge">-jar HMCL.jar</code> 之前</li></ul><h2 id="如何使用环境变量">如何使用环境变量</h2><h3 id="windows-设置环境变量">Windows 设置环境变量</h3><ol><li>右键点击“此电脑”/“这台电脑”/“我的电脑”,选择“属性”</li><li>点击“高级系统设置”</li><li>点击“环境变量”</li><li>在“用户变量”或“系统变量”中点击“新建”</li><li>输入变量名(如 <code class="language-plaintext highlighter-rouge">HMCL_JAVA_HOME</code>)和变量值</li><li>点击“确定”保存</li></ol><p>示例值:</p><div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>变量名: HMCL_JAVA_HOME
|
||
变量值: C:\Program Files\Java\jdk-17
|
||
</code></pre></div></div><h3 id="linuxmacos-设置环境变量">Linux/macOS 设置环境变量</h3><ol><li>编辑你的 Shell 配置文件(比如 <code class="language-plaintext highlighter-rouge">~/.bashrc</code>、<code class="language-plaintext highlighter-rouge">~/.zshrc</code> 等)</li><li>添加 <code class="language-plaintext highlighter-rouge">export</code> 语句:</li></ol><div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">export </span><span class="nv">HMCL_JAVA_HOME</span><span class="o">=</span><span class="s2">"/usr/lib/jvm/java-17-openjdk"</span>
|
||
<span class="nb">export </span><span class="nv">HMCL_JAVA_OPTS</span><span class="o">=</span><span class="s2">"-XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=15"</span>
|
||
</code></pre></div></div><ol><li>保存文件并重新加载配置:<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">source</span> ~/.bashrc <span class="c"># 或 `source ~/.zshrc`</span>
|
||
</code></pre></div></div></li></ol><h3 id="使用注意事项-1">使用注意事项</h3><ul><li>设置环境变量后需要重启 HMCL 才能生效</li><li>如果同时设置了 JVM 参数和环境变量,JVM 参数优先级更高</li><li>Windows 用户注意使用半角分号(;)分隔多个路径</li><li>Linux/macOS 用户注意使用半角冒号(:)分隔多个路径</li></ul></section><footer class="page__meta"><p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> 更新时间:</strong> <time class="dt-published" datetime="2025-04-20T23:18:02+08:00">2025-04-20</time></p></footer><nav class="pagination"> <a href="/launcher/use-password-login-microsoft-account.html" class="pagination--pager" title="使用密码登录微软账户">上一页</a> <a href="/launcher/auto-installing.html" class="pagination--pager" title="自动安装与模组下载简介">下一页</a></nav></div></article></div></div><div id="footer" class="page__footer"><footer><div class="page__footer-follow"><ul class="social-icons"><li><strong>关注:</strong></li><li><a href="https://github.com/HMCL-dev/HMCL" rel="nofollow noopener noreferrer"><i class="fab fa-fw fa-github" aria-hidden="true"></i> Github</a></li><li><a href="https://beian.miit.gov.cn" rel="nofollow noopener noreferrer"><i class="fas fa-link" aria-hidden="true"></i> 粤ICP备18071565号</a></li><li><a href="/feed.xml"><i class="fas fa-fw fa-rss-square" aria-hidden="true"></i> Feed</a></li></ul></div><div class="page__footer-copyright">© 2026 <a href="mailto:hmcl@huangyuhui.net">huanghongxun</a>. 技术来自于 <a href="https://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/jekyll-themes/minimal-mistakes/" rel="nofollow">Minimal Mistakes</a>.</div></footer></div><script src="/assets/js/main.min.js"></script> <script src="/assets/js/plugins/jquery.auto-redirect.js"></script></body></html>
|