我在搭建环境时遇到的问题集合

首先是搭建环境,可以参考以下两个教程
1
2

如果是第一次接触,那么请在浏览教程的时候配合最后补充的几点细节来搭建,这能最大限度地避免问题出现,如果还是出现了问题,可以返回来看是哪个问题

关于ForgeMdk的下载和安装

突然想起这个也是比较麻烦的事情之一,在这里一并写了,我们先到Forge的官网:添加链接描述

左侧往下滑,找到1.8.9, 如图

找到Mdk

右键->复制链接,在文本文档中或直接在浏览器网址处粘贴,类似于

https://adfoc.us/serve/sitelinks/?id=271228&url= https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.8.9-11.15.1.2318-1.8.9/forge-1.8.9-11.15.1.2318-1.8.9-mdk.zip

把粗体字部分都删掉,得到真正的下载地址:
https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.8.9-11.15.1.2318-1.8.9/forge-1.8.9-11.15.1.2318-1.8.9-mdk.zip

前面的是广告,直接粘贴在浏览器网址栏开始下载,速度较慢,保持耐心

第一个问题: gradle版本和jdk版本不兼容

如果您已经简单浏览过上文的两个教程,能够知道这两个教程都是使用jdk8来开发的,但很多教程书籍等都紧跟更新,在jdk15进行教学,或至少是jdk10及以上,如果在开始搭建教程所需的Java环境以前下载过其他版本的jdk,那么就会报错,类似但不限于以下:

这就是gradle和电脑上默认的jdk版本不兼容,这种情况两种解决办法:
1.升级gradle
2.降级jdk

由于教程已经说明要在jdk8的环境下进行开发,那么自然只能使用方法2,这时候问题出现了,我当时已经安装了jdk8,也改了环境变量,但仍然报错

后来我觉得光是改环境变量可能还是不行,或者说确实是行,只是我设置的不对或者有正确的方式没让我找到

所以不想浪费时间的话,最简单的,删掉jdk15

以后还能下载回来,暂时先删掉就行了

如果删掉还是不行,看后面设置环境变量

第二个问题:java.lang.NullPointerException (no error message)
具体如何描述我也不太清楚,但能知道报错是java.lang.NullPointerException

我的报错是java.lang.NullPointerException (no error message),没截图下来,只能这样空说了,这个问题困扰了我整整半天,查了很多博客,但大部分都是在Android studio里解决的,我没下载这个软件,也不愿意下载,毕竟我要做的和这个没关系,也用不到,这个问题的解决办法看下文细节补充

教程细节的补充(大部分问题都是因为教程里的一些细节不明确出现的)

1.教程中有下载ForgeMdk的步骤,这一步下载下来的压缩文件不能和解压缩出来的文件放在同一个文件夹,不然会出现错误,以下示例是错误的 (也有可能是个体例外,我是出现了这个问题,如果不愿意费劲,还是不要放在一个文件夹,避免错误)

这里压缩包和解压缩文件在同一个文件夹里了,会引发错误,具体的记不太清是哪个了,好像是会引发java.lang.NullPointerException (no error message)这个错误,并且我们解压缩的那个文件夹名字是不能含有中文的,特殊符号是否会引发错误目前未知,我也没尝试,总之建议命名为全英文文件夹,像上图的那个压缩文件解压到另一个文件夹,像下图那样,就可以了

我们在cmd里进入到没有压缩包的那个文件夹执行命令

在执行教程中的gradlew命令可能失败出现Build Failed字样,是因为有一个文件夹没放对 (这个也有可能是个体例外,总之建议执行这一步)

我们进入到我们解压缩的那个文件夹之下,就是我们刚才说的解压缩的那个文件夹,如果未执行命令,应该是不自带.gradle文件夹的
(此处记不太清,忘了有还是没有了,自己试一下就知道了)

而我们每次运行一次gradlew命令,则会在此文件夹生成一个.gradle文件夹

即使是build failed仍然会生成.gradle文件夹,把这个文件夹剪切或复制到C:/User(用户)/你的用户名
这个文件夹下(每次执行gradlew都会生成,所以剪切和复制应该结果是没区别的)

然后关闭cmd窗口,重新执行gradlew命令,此时如果还是build failed那就多执行几次,应该最后会出现BUILD SUCCESSFUL字样,至此准备工作完毕

细节的补充来自Bilibili的up主**“我是Frank呀”**,在此致谢,原文章链接:
添加链接描述

哦对了,如果执行了gradlew setupDecoWorkspace命令后底下出现一堆小点就是不开始下载的话,重启一下

eclipse所需jdk版本与gradle所需版本冲突解决办法

上文说到在执行gradlew时可能出现gradle版本和jdk版本不兼容的情况,解决办法是删掉高版本的jdk,保留低版本的jdk

这时候再打开eclipse会弹出窗口显示一段话

这是因为高版本的eclipse只能在jdk11及更高环境下运行,无法在jdk8的环境下运行,这时候已经可以把jdk15下回来了,下回来之后在cmd窗口重新试一下gradlew命令发现是不会报错的,具体什么原因我也不太清楚,如果有大佬知道为什么希望可以指明

但光下回来eclipse还是启动不了(这个可能也是个体例外,我在下回来之前把环境变量都删没了,后来重配的)
打开电脑属性,找到高级系统设置

打开环境变量

在下面的系统变量点击新建,
变量名:JAVA_HOME
变量值:这块找到你jdk8的安装位置,找到类似于C:\Program Files\Java\jdk1.8.0_281这个路径,当作变量值

然后到Path变量里新建,添加**%JAVA_HOME%\jre\bin**进去,上移至第一位

然后好像是必须在jre文件夹下的bin目录放到环境变量里才有用,但jdk11往上就不自带jre文件夹了,在配置jdk15的环境变量的时候,需要手动生成一下

打开cmd,进入到安装jdk15的文件夹

输入一行命令
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre

然后回到环境变量里的Path变量里,在把jdk15下载回来之后可能Path变量里会出现一个如图变量

按照时间线来说,这个应该是在刚设置的%JAVA_HOME%\jre\bin之后
把它提到JAVA_HOME的前面,然后再新建,添加刚刚生成的jdk15文件夹下的jre文件夹的bin文件夹的路径,
我的路径是上图第一行变量,把这个添加进去,然后点确定

然后在上面的用户变量里也添加一下%JAVA_HOME%\jre\bin变量,和刚才jdk15文件夹的那个jre文件夹

这时候再打开eclipse应该就i没有刚才的错误提示了,还有的话,删了重下

然后重下回来的eclipse一开始可能是好的,后面才出现,或一开始不报jdk版本不对,转而弹出一个错误窗口,没有截图,大致如下:

An error has occurred. See the log file.
X:\XXXXX\XXXXX\XXX\

这个的话,我也没找到解决办法,有懂的大佬可以说一下,网上的博客所说的方法大多无效,毕竟年代久远

直接说解决办法,删了重下,一般这两个报错不会出现在同一天内

然后就是进入Workspace,这里文章开头的教程也没有细说,我们要打开的是解压的文件夹的eclipse文件夹,而不是那个文件夹本身

蓝色记号的文件夹才是我们最终要打开的工作空间,而不是橙色记号的根目录

此细节由Bilibili的up主**“奈芙莲的守护者”**补充,在此致谢,原视频链接:
添加链接描述

至此,我在载入workspace之前的问题已经悉数解决,之后再有问题,会再写一篇来记录

持续更新

Mc模组开发--Java版的环境搭建相关推荐

  1. Minecraft 1.12.2模组开发(一) 配置ForgeMDK环境

    我的世界1.12.2 IDEA开发包构建教程已出,更加方便快捷~ 1.12.2Forge模组开发 配置ForgeMDK环境 开发环境:eclipse 1. 我的世界模组开发首先需要配置Forge MD ...

  2. 我的世界古代战争模组介绍java版_Minecraft1.6.4古代战争MOD整合版|我的世界1.6.4古代战争整合包游戏下载_红软单机游戏...

    <我的世界1.6.4古代战争整合包>属于3D的第一人称和第三人称沙盒游戏,所呈现的世界并不是华丽的画面与特效,而是注重在游戏性上面.玩家在游戏中做着建设,破坏等等许多事,透过像乐高一样的积 ...

  3. 我的世界古代战争模组介绍java版_我的世界古代战争2mod教程零基础到专属军队...

    小编为大家带来了<我的世界>古代战争2mod教程零基础到专属军队,古代战争是对Minecraaft的一种修正,他对Minecraft做出了多种的改变:新的方块,新的实体,新的世界生成模板, ...

  4. Minecraft模组开发——环境搭建

    考虑到部分读者可能对环境搭建流程不熟,所以本章教程简单地过一遍环境搭建,并在项目中整合Mixin. 下载MDK 打开https://files.minecraftforge.net/net/minec ...

  5. 【Minecraft java edition 模组开发】(一):实现一个简单的模组

    零.写在前面 1.看这个系列需要什么前提? ① 对Minecraft有一定的了解,知道模组.方块.物品.实体等名词的具体含义. ② 对java编程有一定了解,至少要学到容器. ③ 会编写json代码, ...

  6. Minecraft 1.16.5模组开发(三十一) 自定义建筑生成(structure) (新)

    如果你学习过我们之前在1.12.2的建筑生成教程,那么对本次的教程的理解可能会相对轻松. 往期回顾 Minecraft 1.12.2模组开发(十四) 建筑生成 (structure generatio ...

  7. Minecraft 1.16.5模组开发(三十二) 自定义投掷物品实体

    如果你了解过之前我们的实体开发教程,那么本次的教程会相对比较好理解. Minecraft 1.12.2模组开发(七) 实体(魔改Zombie) 我们本次将参考雪球在MC中制作一个属于我们自己的可投掷实 ...

  8. Minecraft 1.16.5模组开发(三十八) 3D盔甲(新)

    Minecraft升级到1.16.5后,3D盔甲的制作方法也跟之前版本稍有不同(主要在第二步.第四步),建议先复习一下往期教程: Minecraft 1.12.2模组开发(三十七) 3D盔甲 1.在b ...

  9. 涂鸦模组开发(压力传感器HX711)——4. 上报传感器数据给涂鸦模块

    涂鸦模组开发_压力传感器HX711--4. 上报传感器数据给涂鸦模块 概述 视频演示 资料下载 涂鸦智能 涂鸦功能修改 压力值上报 压力状态上报 增值服务 最后 概述 涂鸦智能 (NYSE:TUYA) ...

最新文章

  1. java实验的技术问题及解决方法,2018-2019-2 20175313 实验一《Java开发环境的熟悉》实验报告...
  2. java打开网页横屏_巅峰之战!三款最热java手机浏览器横屏
  3. 模板使用自定义类型_「Shopify模板」Shopify模板编辑Shopify模板代码更改教程
  4. python简笔画绘制 数据驱动绘图恐龙_使用python turtle绘制简笔画大白-Go语言中文社区...
  5. 照片处理软件(iSee图片专家) 3.930 中文免费版
  6. 【NLP】情感分析:BERT vs Catboost
  7. 电机高频注入原理_永磁同步电机转子位置与速度估算的新方法,精度好,性价比高...
  8. Linuxcurl命令参数详解
  9. java 1.8新增功能_睡觉时:新增的Java 8新增功能
  10. 一个类似京东商城那种多条件筛选效果
  11. OpenCV处理椒盐噪声以及提高对比度
  12. Android N-ify使用教程,Xposed新模块 无需升级也能使用Android N新功能
  13. ORACLE 树形遍历查询根节点、父节点、子节点
  14. mysql英文版怎么调中文_MySQL英文版的使用
  15. 二十五个软件测试经典面试题
  16. 计算机网络-网络规划与设计
  17. python中怎么判断字母大小写_python判断大小写字母
  18. Mac系统安装/升级 Git
  19. 并行接口芯片8255与定时器/计数器接口芯片8253
  20. Electron 麒麟 Linux 系统 root 账户报错

热门文章

  1. 区块链经济学:制度加密经济学入门指南
  2. iPhone的九宫格实现代码
  3. excel按条件选择工作表_在Excel工作表中选择“实际使用范围”
  4. C# Winform 实现窗体无系统边框,但是具有系统边框的所有功能,同时保证控件不闪烁
  5. Teams Bot App 用户互动
  6. STM32——EMWIN对话框(十二)
  7. windows自带hyperv安装虚拟机ubuntu与分辨率修改
  8. 最全的monkey测试过程及分析
  9. layui教程(一) form 表单的提交问题
  10. 一个实用分数类Fraction的Java实现