Nacos无法启动详解:Please set the JAVA_HOME variable in your environment, We need java(x64) jdk8 or later

简介: Nacos无法启动详解:Please set the JAVA_HOME variable in your environment, We need java(x64) jdk8 or later

1.问题描述

1️⃣ 点击startup.cmd无反应,或窗口一闪而过

2️⃣ 指令报错:

2.问题分析

2.1 情况一:JDK版本

如果你是非x64版本,则需要去官网下载x64版本。但我觉得这个可能性不会很大,大家应该都是x64的版本并且JDK版本不低于1.8

2.2 情况二:环境变量配置不正确

我们先来看一下startup.cmd的执行脚本:

查看一下我的环境变量设置:

如果写到了bin,则JAVA_HOME是D:\SoftwareEngineering\java\jdk\jdk8\bin,那么startup.cmd中的JAVA=%JAVA_HOME%\bin\java.exe就是 D:\SoftwareEngineering\java\jdk\jdk8\bin\bin\java.exe,很明显有两个bin,这个路径是不存在的,那么startup.cmd中我们刚才看到的代码:

if not exist "%JAVA_HOME%\bin\java.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! & EXIT /B 1
set "JAVA=%JAVA_HOME%\bin\java.exe"

这个 if 语句条件判断为真,不存在该路径,所以输出(echo)了Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better!

3.问题解决

所以到这里,这个问题就变得很好解决了,我们只需要修改一下环境变量的值即可:

📍 这里也就说明了为什么我们配置JAVA环境变量要命名为JAVA_HOME,因为这是一个默认的规范,很多软件开发者都遵循这个规则,使用他们与JAVA有关的软件时可能会去你的环境变量中寻找JDK配置,怎么找呢?就是通过名称为JAVA_HOME的环境变量。


相关文章
|
12月前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。HashSet基于哈希表实现,提供高效的元素操作;TreeSet则通过红黑树实现元素的自然排序,适合需要有序访问的场景。本文通过示例代码详细介绍了两者的特性和应用场景。
147 6
|
12月前
|
存储 Java 数据处理
Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位
【10月更文挑战第16天】Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位。本文通过快速去重和高效查找两个案例,展示了Set如何简化数据处理流程,提升代码效率。使用HashSet可轻松实现数据去重,而contains方法则提供了快速查找的功能,彰显了Set在处理大量数据时的优势。
122 2
|
12月前
|
Java
在Java的世界里,Set只接纳独一无二的元素。
【10月更文挑战第16天】在Java的世界里,Set只接纳独一无二的元素。本文通过拟人化的手法,讲述了重复元素从初次尝试加入Set被拒绝,到经历挣扎、反思,最终通过改变自己,成为独特个体并被Set接纳的全过程。示例代码展示了这一过程的技术实现。
78 1
|
11月前
|
存储 Java 开发者
在 Java 中,如何遍历一个 Set 集合?
【10月更文挑战第30天】开发者可以根据具体的需求和代码风格选择合适的遍历方式。增强for循环简洁直观,适用于大多数简单的遍历场景;迭代器则更加灵活,可在遍历过程中进行更多复杂的操作;而Lambda表达式和`forEach`方法则提供了一种更简洁的函数式编程风格的遍历方式。
4298 113
|
11月前
|
存储 Java
判断一个元素是否在 Java 中的 Set 集合中
【10月更文挑战第30天】使用`contains()`方法可以方便快捷地判断一个元素是否在Java中的`Set`集合中,但对于自定义对象,需要注意重写`equals()`方法以确保正确的判断结果,同时根据具体的性能需求选择合适的`Set`实现类。
613 113
|
11月前
|
存储 Java 开发者
Java 中 Set 类型的使用方法
【10月更文挑战第30天】Java中的`Set`类型提供了丰富的操作方法来处理不重复的元素集合,开发者可以根据具体的需求选择合适的`Set`实现类,并灵活运用各种方法来实现对集合的操作和处理。
627 113
|
11月前
|
JSON Java 关系型数据库
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
在Java中,使用mybatis-plus更新实体类对象到mysql,其中一个字段对应数据库中json数据类型,更新时报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
1126 4
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
|
11月前
|
存储 算法 Java
Java Set深度解析:为何它能成为“无重复”的代名词?
Java的集合框架中,Set接口以其“无重复”特性著称。本文解析了Set的实现原理,包括HashSet和TreeSet的不同数据结构和算法,以及如何通过示例代码实现最佳实践。选择合适的Set实现类和正确实现自定义对象的hashCode()和equals()方法是关键。
154 4
|
11月前
|
Java
那些与Java Set擦肩而过的重复元素,都经历了什么?
在Java的世界里,Set如同一位浪漫而坚定的恋人,只对独一无二的元素情有独钟。重复元素虽屡遭拒绝,但通过反思和成长,最终变得独特,赢得了Set的认可。示例代码展示了这一过程,揭示了成长与独特性的浪漫故事。
72 4

热门文章

最新文章