关于Linux系统hmcl的使用
在昨天尝试用win10安装hmcl无果后,今天一天一直在试图用linux系统安装hmcl,几经周折,我估计我可能把雷踩遍了(摊手)于是在这里做一个记录
mkdir -p ~/games/minecraft/
mv 下载/HMCL-3.2.139.jar games/minecraft/
这一步是最遭心的,因为下学期要学java,所以顺便要配置jdk和eclipse环境,然后问题接踵而至。
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
这里我选择的是jdk-8u241-linux-x64.tar.gz
现在有船新版本了https://www.oracle.com/technetwork/java/javase/downloads/jdk13-downloads-5672538.html
也就是13.0.2版
sudo tar -xvf jdk-8u241-linux-x64.tar.gz -C /usr/local
/usr/local并不是规定目录,只是后面的代码需要稍作修改
切到该目录下
cd usr/local
查看解压完是个什么文件
ls
打开配置文件
sudo vim /etc/profile
在文件末尾添加上以下片段
export JAVA_HOME=/usr/local/jdk1.8.0_241
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
应用配置文件
source /etc/profile
java -version
结果显示:
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)
就算配置好开发用的JDK环境了
如果java版本并不是刚才安装的,有可能是之前安装有jdk,修改默认的方法参照__“尝试打开”——“解决办法一”__
6.区分
"JAVA"已经安装好了,但是开发用的JDK包含的东西是非常多的,已经超过了游戏使用的部分——jre
从网络上了解到:
1、面向人群不同:
JDK是面向开发人员使用的SDK。
JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者。
2、重要程度不同:
JRE的地位就像一台PC机一样,编写的Java程序必须要JRE才能运行。只要你的电脑安装了JRE,就可以正确运行Java应用程序。
也就是说jdk是高于jre的,而且据网上说一个完整的jdk中是包含可以使用的jre的
找到之前放hmcl的位置
cd ~/games/minecraft/
用java打开
java -jar HMCL-3.2.139.jar
之前因为javakx版本不合适游戏启动不了,今天发现了一个十分简单的方法
在运行时指定java版本
比如之前打开:
java -jar HMCL-3.2.139.jar
现在:
/usr/local/jdk1.8.0_241/bin/java -jar HMCL-3.2.139.jar
完美
后来发现是不知道在之前哪步中(忘了)安装了java-11-openjdk-amd64也就是java11
然后直接通过源下载了OpenJDK(后来发现网上说openjdk是Ubuntu系统自带的,但是我装JDK的时候并没有发现)
(期间没有尝试再打开hmcl,因为发现了下面这个问题)
因为通过指令发现默认的jdk改为了OpenJDK
并且由于无知,担心OpenJDK很可能达不到以后开发用的要求
所以开始研究怎么把他卸掉
其实OpenJDK的问题简单来讲就是不如JDK全
这里引用一篇文章更详细些https://www.cnblogs.com/sxdcgaq8080/p/7487369.html
因为不知道我之前在不清楚的情况下安装了哪些版本,而且网上并没有找到确实有效的卸载的办法。
同时,因为担心现在用的jdk1.8.0_241里缺少某些游戏运行需要的程序所以可以有以下两个办法
不再 执着于卸载掉多余的两个版本,而是更改默认JDK,提高jdk1.8.0_241的优先级
改变优先级:
sudo update-alternatives --install /usr/bin/java java /usr/local/jdk1.8.0_241/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/local/jdk1.8.0_241/bin/javac 300
update-alternatives的格式为:
update-alternatives <需要> <链接> <名称> <路径> <优先级>
更改默认:
sudo update-alternatives --config java
sudo update-alternatives --config javac
据说java官网有专门的卸载工具,不知道是否适用于linux系统
不能用,官网的工具只适用于windows系统
sudo apt-get autoremove openjdk-11-jre-headless
成功卸载了openjdk-11和openjdk-8但是并没有解决下面这个问题
警告是建议使用https协议,这个没有太大关系
[WARNING] You are using HTTP protocol, which is INSECURE! Please switch to HTTPS if possible.
错误很要命,“出现JNI错误,请检查安装并重试”
A JNI error has occurred, please check your installation and try again
难道要重装吗(哭)
因为针对当前问题并没有找到有效的解决方法,所以逐步记录逐个排除
成功卸载了两个版本的openjdk: 同时也发现两个openjkd并没有安装jdk,只安装了jer
在运行过程里发现了一个警告:
Loading FXML document with JavaFX API of version 11.0.1 by JavaFX runtime of version 8.0.241
即通过8.0.241版本的JavaFX运行时使用11.0.1版本的JavaFX API加载FXML文档,也就是版本冲突
__接下来尝试:__了解JavaFX的功能和来源,尝试卸载其中一个版本来解决冲突
启动客户端正常;启动游戏正常;但是打开以后风扇一直在转;win10系统下没有该现象
安装系统的时候显卡没有设置好;
系统特性;
启动了光影;