Linux系统使用hmcl遇到的种种问题

关于Linux系统hmcl的使用

Ubuntu系统安装hmcl所遇到的问题

在昨天尝试用win10安装hmcl无果后,今天一天一直在试图用linux系统安装hmcl,几经周折,我估计我可能把雷踩遍了(摊手)于是在这里做一个记录

下载hmcl程序

  1. 首先要有linux版的安装包,几经周折找到一个完美的网址:
    官方连接
    (期间在某网站下了一个旧版客户端的导致不能正常运行
    并提示:启动失败java.lang.NullPointerException:Minecraft Arguments can not be null)
  2. 然后找了一个合适的位置建了一个游戏文件夹
mkdir -p ~/games/minecraft/
  1. 把下载好的包放到该目录下
mv 下载/HMCL-3.2.139.jar games/minecraft/

安装Java

这一步是最遭心的,因为下学期要学java,所以顺便要配置jdk和eclipse环境,然后问题接踵而至。

安装开发需要的JDK

1.经过漫长的等候终于在Oracle的官网下载了合适的正版JAVA

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版

2.下载以后把该文件解压到某目录

sudo tar -xvf jdk-8u241-linux-x64.tar.gz -C /usr/local

/usr/local并不是规定目录,只是后面的代码需要稍作修改

3.找到解压后的文件下一步要用

切到该目录下

cd usr/local

查看解压完是个什么文件

ls


这里看到有一个 jdk1.8.0_241

4.配置环境变量

打开配置文件

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

5.检查

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 

然后提示我:
Linux系统使用hmcl遇到的种种问题_第1张图片
崩溃ing

游戏启动问题解决

之前因为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但是并没有解决下面这个问题

结果:Linux系统使用hmcl遇到的种种问题_第2张图片

警告是建议使用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

难道要重装吗(哭)

问题解决日记

因为针对当前问题并没有找到有效的解决方法,所以逐步记录逐个排除

20-02-08记:

成功卸载了两个版本的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系统下没有该现象

可能原因:

安装系统的时候显卡没有设置好;
系统特性;
启动了光影;

问题解决即继续更新

你可能感兴趣的:(其他,linux,java,其他)