行,待会改
Search Criteria
Package Details: hmcl-bin 3.6.12-4
Package Actions
Git Clone URL: | https://aur.archlinux.org/hmcl-bin.git (read-only, click to copy) |
---|---|
Package Base: | hmcl-bin |
Description: | A Minecraft Launcher which is multi-functional, cross-platform and popular. |
Upstream URL: | https://github.com/huanghongxun/HMCL |
Licenses: | GPL3 |
Conflicts: | hmcl |
Provides: | hmcl |
Replaces: | hmcl-stable-bin |
Submitter: | so1ar |
Maintainer: | TTsdzb (hour-keeper) |
Last Packager: | hour-keeper |
Votes: | 13 |
Popularity: | 1.17 |
First Submitted: | 2021-10-04 12:37 (UTC) |
Last Updated: | 2025-04-06 05:51 (UTC) |
Dependencies (2)
- gtk2 (gtk2-patched-filechooser-icon-viewAUR)
- java-runtime (jre10AUR, jre12AUR, jdk10AUR, jdk10-openj9-binAUR, jdk7AUR, jre7AUR, amazon-corretto-16AUR, jdk8-graalvm-binAUR, jdk16-graalvm-binAUR, jdk16-adoptopenjdkAUR, liberica-jre-11-binAUR, jdk11-j9-binAUR, jre16-openjdkAUR, jre14-openjdkAUR, jre15AUR, jre14AUR, jre13AUR, jre16AUR, jre18-openjdkAUR, amazon-corretto-19-binAUR, jdk19-graalvm-binAUR, liberica-jre-11-full-binAUR, jdk19-graalvm-ee-binAUR, jdk13-openjdk-binAUR, liberica-jre-8-full-binAUR, jdk11-graalvm-binAUR, jre-openj9AUR, jdk11-graalvm-ee-binAUR, jre12-openjdkAUR, jdk11-dragonwell-standard-binAUR, jdk11-jetbrains-binAUR, jdk20-graalvm-binAUR, jdk17-graalvm-binAUR, jdk20-openj9-binAUR, zulu-13-binAUR, jdk8-dragonwell-extended-binAUR, jdk8-dragonwell-standard-binAUR, jdk11-dragonwell-extended-binAUR, jdk17-dragonwell-standard-binAUR, jdk8-j9-binAUR, jdk7-j9-binAUR, jdk7r1-j9-binAUR, jre13-openjdkAUR, jre15-openjdkAUR, jdk21-graalvm-binAUR, jre17-jetbrainsAUR, microsoft-openjdk-11-binAUR, microsoft-openjdk-17-binAUR, microsoft-openjdk-21-binAUR, liberica-nik-24-full-binAUR, jre21-jetbrains-gitAUR, jdk21-jetbrains-gitAUR, zulu-8-binAUR, mandrel-binAUR, mandrel24-binAUR, liberica-jdk-11-lite-binAUR, liberica-jdk-11-binAUR, jdk17-graalvm-ee-binAUR, jdk22-graalvm-ee-binAUR, jdk20-graalvm-ee-binAUR, jdk22-graalvm-binAUR, jre19-openjdkAUR, jdk17-jetbrains-binAUR, zulu-jdk-fx-binAUR, jre21-jetbrainsAUR, jdk17-zulu-prime-binAUR, zulu-jre-fx-binAUR, zulu-fx-binAUR, zulu8-fx-binAUR, zulu11-fx-binAUR, zulu17-fx-binAUR, zulu21-fx-binAUR, jdk11-openj9-binAUR, jre-openjdk-wakefieldAUR, jdk-openjdk-wakefieldAUR, jre-zulu-binAUR, jre-zulu-fx-binAUR, jdk21-dragonwell-standard-binAUR, jdk21-dragonwell-extended-binAUR, jdk-android-studioAUR, jdk-openj9-binAUR, zulu-11-binAUR, jdk8-graalvm-ee-binAUR, jdk8-dragonwell-extendedAUR, jdk21-jetbrains-binAUR, jre11AUR, jdk21-temurinAUR, jdk17-temurinAUR, jdk11-temurinAUR, jre17AUR, amazon-corretto-8AUR, amazon-corretto-11AUR, jdk21-graalvm-ee-binAUR, jdk8-openj9-binAUR, liberica-jdk-21-full-binAUR, liberica-jdk-8-full-binAUR, jre21-zulu-binAUR, jre17-zulu-binAUR, jre-zuluAUR, jre-zulu-fxAUR, jdk8-temurinAUR, zulu-21-binAUR, jre8AUR, jdk8AUR, zulu-17-binAUR, amazon-corretto-17AUR, amazon-corretto-21-binAUR, jdk23-graalvm-ee-binAUR, jre-ltsAUR, jdk-ltsAUR, liberica-jdk-11-full-binAUR, liberica-jdk-17-full-binAUR, zulu-17-fx-binAUR, openjdk-zulu8-ca-fx-binAUR, openjdk-zulu11-ca-fx-binAUR, openjdk-zulu17-ca-fx-binAUR, openjdk-zulu21-ca-fx-binAUR, openjdk-liberica8-full-binAUR, openjdk-liberica11-full-binAUR, openjdk-liberica17-full-binAUR, openjdk-liberica21-full-binAUR, java-openjdk-binAUR, openjdk-zulu-ca-fx-binAUR, openjdk-liberica-full-binAUR, jreAUR, jdkAUR, jdk-temurinAUR, liberica-jdk-full-binAUR, zulu-24-binAUR, jdk24-graalvm-ee-binAUR, jdk8-perfAUR, zing-8-binAUR, zing-21-binAUR, zing-23-binAUR, java-openjdk-ea-binAUR, jdk21-openj9-binAUR, jdk17-openj9-binAUR, liberica-jdk-21-binAUR, jre-jetbrainsAUR, jdk-openjdk, jdk11-openjdk, jdk17-openjdk, jdk21-openjdk, jre-openjdk, jre11-openjdk, jre17-openjdk, jre21-openjdk, jre8-openjdk)
Required by (0)
Sources (4)
Bot-wxt1221 commented on 2024-02-13 03:13 (UTC)
HinataAoi commented on 2024-02-12 10:58 (UTC) (edited on 2024-02-12 13:11 (UTC) by HinataAoi)
我这边出现了问题,因为我这边默认调用的jre是zulu-21-bin
.而启动脚本最后一行--module-path指定的却是pacman查询的java-openjfx
依赖的提供者的lib目录,在我这里就是指向了zulu-jre-fx-bin
的lib目录.
导致的情况就是zulu-21-bin
在尝试使用zulu-jre-fx-bin
的lib目录
我不懂java,不清楚jre不同版本间是否能用彼此的lib目录,但我这里确实出现了问题.会提示"Module javafx.base not found"
也许可以把最后一行里的java
改成"${JAVA_HOME}"/bin/java
?
另外hmcl.desktop里抄错抄成exec=hmcl-stable-bin了
Bot-wxt1221 commented on 2024-02-12 09:54 (UTC) (edited on 2024-02-12 09:54 (UTC) by Bot-wxt1221)
我把stable的拷过来了,实测能用。有问题吗
HinataAoi commented on 2024-02-12 09:18 (UTC)
启动脚本被改回了之前的版本?但是最后一行和一开始不一样了.
HinataAoi commented on 2024-02-11 09:58 (UTC) (edited on 2024-02-12 00:12 (UTC) by HinataAoi)
The hmcl-launch-script
will not work if the default java is not from the provider of java-openfx
. For example, I installed zulu-jre-fx-bin
and zulu-21-bin
as the provider of java-openjfx
and the provider of java-runtime
respectively.
This is a simple fix, but I'm not sure if it will have any other side effects:
diff --git a/b/hmcl-launch-script b/a/hmcl-launch-script
index 9330ba6..149a361 100755
--- a/b/hmcl-launch-script
+++ b/a/hmcl-launch-script
@@ -8,14 +8,15 @@ if [ "$1" != "-p" ]; then
cd $WORKDIR
fi
-if [ -n "${JAVA_HOME}" ]; then
- JAVA=${JAVA_HOME}/bin/java
-else
- JAVA=java
-fi
if [ -z "${JAVAFX_HOME}" ]; then
JAVAFX_HOME=/usr/lib/jvm/$(pacman -Ql java-openjfx | grep javafx | head -n 1 | cut -d / -f 5)
fi
+if [ -n "${JAVA_HOME}" ]; then
+ JAVA=${JAVA_HOME}/bin/java
+else
+ JAVA=${JAVAFX_HOME}/bin/java
+fi
+
exec "${JAVA}" --module-path "${JAVAFX_HOME}/lib/javafx.base.jar:${JAVAFX_HOME}/lib/javafx.fxml.jar:${JAVAFX_HOME}/lib/javafx.graphics.jar:${JAVAFX_HOME}/lib/javafx.media.jar:${JAVAFX_HOME}/lib/javafx.swing.jar:${JAVAFX_HOME}/lib/javafx.web.jar:${JAVAFX_HOME}/lib/javafx.controls.jar" --add-modules=javafx.base --add-modules=javafx.fxml --add-modules=javafx.graphics --add-modules=javafx.media --add-modules=javafx.swing --add-modules=javafx.web --add-modules=javafx.controls -jar /usr/share/java/hmcl-bin/hmcl-bin.jar "$@"
BTW, the version number is 3.5.5.235, not 3.5.4.235
yataro commented on 2024-01-16 07:58 (UTC) (edited on 2024-01-16 08:02 (UTC) by yataro)
hmcl-launch-script
is broken for java-openjfx-bin
:
/usr/bin/hmcl-bin: line 11: /usr/lib/jvm/java-21-openjfx/bin/java: No such file or directory
Also, the script uses the non-POSIX [[
in the presence of #!/bin/sh
shebang and the script should fail if anything before running HMCL fails, consider using set -e
.
It is better to allow the user select java and javafx directories using the well-known variables JAVA_HOME
and JAVAFX_HOME
respectively.
Here's the PATCH with fixes:
diff --git a/PKGBUILD b/PKGBUILD
index c219791..3ea84ac 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=hmcl-bin
_ver=3.5.4
_build=234
pkgver=${_ver}.${_build}
-pkgrel=2
+pkgrel=3
pkgdesc="A Minecraft Launcher which is multi-functional, cross-platform and popular."
arch=('any')
url="https://github.com/huanghongxun/HMCL"
@@ -19,7 +19,7 @@ source=("hmcl.desktop"
"LICENSE::https://raw.githubusercontent.com/huanghongxun/HMCL/javafx/LICENSE"
"${pkgname}-${pkgver}-${pkgrel}.jar::https://github.com/huanghongxun/HMCL/releases/download/v${pkgver}/HMCL-${pkgver}.jar")
sha256sums=('9a561081f8f3ece3da114afd4f6d90565ca0e04716eef4ea88c6b4306566ae9b'
- 'd7b373e705bfa287fa720a64820fa34c9df29ce87e73c1814c70e643434fe550'
+ '0c1ee34a9aa72e9f573730bff336e26095cb5e09d27d26d20ce3e0a7c5714ee7'
'2989a1b5301b8c7b9afdae5696c6a4e5246afa2d4f1f3d3dad5c192f036a9b4c'
'3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986'
'4de4ae5abc2c8323a21b393a0ed7dccf8dced21fcae9fdb66e40295f0cb24cc5')
diff --git a/hmcl-launch-script b/hmcl-launch-script
index b8a4d0f..9330ba6 100755
--- a/hmcl-launch-script
+++ b/hmcl-launch-script
@@ -1,11 +1,21 @@
#!/bin/sh
-if [[ "$1" != "-p" ]]; then
+set -e
+
+if [ "$1" != "-p" ]; then
WORKDIR=${XDG_CONFIG_HOME:-$HOME/.config}/hmcl
mkdir -p $WORKDIR
cd $WORKDIR
fi
-JAVA_HOME=/usr/lib/jvm/$(pacman -Ql java-openjfx | grep javafx | head -n 1 | cut -d / -f 5)
+if [ -n "${JAVA_HOME}" ]; then
+ JAVA=${JAVA_HOME}/bin/java
+else
+ JAVA=java
+fi
+
+if [ -z "${JAVAFX_HOME}" ]; then
+ JAVAFX_HOME=/usr/lib/jvm/$(pacman -Ql java-openjfx | grep javafx | head -n 1 | cut -d / -f 5)
+fi
-exec "${JAVA_HOME}"/bin/java --module-path "${JAVA_HOME}/lib/javafx.base.jar:${JAVA_HOME}/lib/javafx.fxml.jar:${JAVA_HOME}/lib/javafx.graphics.jar:${JAVA_HOME}/lib/javafx.media.jar:${JAVA_HOME}/lib/javafx.swing.jar:${JAVA_HOME}/lib/javafx.web.jar:${JAVA_HOME}/lib/javafx.controls.jar" --add-modules=javafx.base --add-modules=javafx.fxml --add-modules=javafx.graphics --add-modules=javafx.media --add-modules=javafx.swing --add-modules=javafx.web --add-modules=javafx.controls -jar /usr/share/java/hmcl-bin/hmcl-bin.jar "$@"
+exec "${JAVA}" --module-path "${JAVAFX_HOME}/lib/javafx.base.jar:${JAVAFX_HOME}/lib/javafx.fxml.jar:${JAVAFX_HOME}/lib/javafx.graphics.jar:${JAVAFX_HOME}/lib/javafx.media.jar:${JAVAFX_HOME}/lib/javafx.swing.jar:${JAVAFX_HOME}/lib/javafx.web.jar:${JAVAFX_HOME}/lib/javafx.controls.jar" --add-modules=javafx.base --add-modules=javafx.fxml --add-modules=javafx.graphics --add-modules=javafx.media --add-modules=javafx.swing --add-modules=javafx.web --add-modules=javafx.controls -jar /usr/share/java/hmcl-bin/hmcl-bin.jar "$@"
w568w commented on 2023-11-05 04:38 (UTC) (edited on 2023-11-05 04:39 (UTC) by w568w)
Please do not make the package depend on jre-openjdk
anymore - Arch now forbids the coexistent of JRE and JDK. Anyone as a Java developer will be unable to install hmcl-bin
after the update.
They changed this without hesitation because the Java package guidelines has long recommended use java-runtime
dependency for applications needing Java Runtime. Having a direct dependency on the JRE is never a good practice now.
Bot-wxt1221 commented on 2023-10-02 23:43 (UTC)
@CharlieYu4994 This package is not out-of-dated. This is the newest beta version. You can view hmcl-stable-bin to use stable version.
xgugugu commented on 2023-03-07 12:16 (UTC)
建议使用java-runtime-common作为运行时,现在的HMCL已经可以自动补齐javafx环境了
TobyPrime commented on 2023-01-13 08:30 (UTC)
建议添加 gtk2 否则会导致列表无法鼠标滚轮上滑
Pinned Comments
hour-keeper commented on 2025-04-06 06:29 (UTC) (edited on 2025-04-06 06:53 (UTC) by hour-keeper)
官方文档以及.sh脚本都会推荐使用liberica-jdk作为运行时,但.exe会推荐下载Microsoft Build of Openjdk作为运行时
TTsdzb commented on 2025-04-06 05:24 (UTC) (edited on 2025-04-06 06:01 (UTC) by TTsdzb)
已修改。经测试官方启动脚本并不会寻找运行时外的 OpenJFX,因此我们直接移除了该依赖。如果你不喜欢下载,请自行安装具有 JavaFX 库的运行时,并在必要时手动指定
HMCL_JAVA_HOME
或JAVA_HOME
环境变量。TTsdzb commented on 2025-04-02 14:38 (UTC)
自 3.6.12-2 起使用官方的 Shell 脚本替代了原先的独立 jar 文件。如果你需要找回原先的配置,请将
$XDG_CONFIG_PATH/hmcl/hmcl.json
(一般为~/.config/hmcl/hmcl.json
)移动到~/.hmcl.json
。