问题描述:再win10系统上,先安装了JDK的高版本,后安装低级版本。产生如下问题:
Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'
has value '1.6', but '1.8' is required.
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.
问题分析:
1、把JAVA_HOME替换为新的jdk版本,也就是低版本的jdk。仍然后这个问题。
2、怀疑执行过程中的读写信息问题。查找注册表。从入口命令regedit打开注册表。
修改注册表的值为相应的版本。
3、修改注册表后还有问题。怀疑java执行有遗留的问题。
一个是C:\Windows\System32\目录下有java.exe、javaw.exe、javaws.exe。替换为相应JAVA_HOME下的相应文件。
还是有问题,查看path后。发现win10下, C:\Program Files (x86)\Common Files\Oracle\Java\javapath目录下也有这个文件。且再path中此目录再最前面。所有把相应的文件也拷贝到此目录即可。
如果是win7上,可能在C:\ProgramData\Oracle\Java\javapath下。
java.exe是控制台程序。javaw.exe是gui程序。javaws.exe用于web程序
RocketMQ运行报错,找不到或无法加载主类问题file/java/rocketmq/lib.
原因是自己安装软件的时候,常常将软件安装到Program Files这类文件夹下。平常使用jdk的时候没啥事,rocketmq就有问题了。除了jdk,rocketmq本身的目录也不能有空格。都会造成这个问题。
修改JDK目录后,eclipse启动不起来:
再注册表中,搜索所有的jdk版本,改成新的jdk目录即可。具体是哪一个没有具体研究