Java 安装jdk1.8后遇到的两个问题
本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:
- Markdown和扩展Markdown简洁的语法
- ‘Javac’ 不是内部或外部的命令
(1)新建->变量名”JAVA_HOME”,变量值”C:\Java\jdk1.8.0_05”(即JDK的安装路径)
(2)编辑->变量名”Path”,在原变量值的最后面加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”
(3)新建->变量名“CLASSPATH”,变量值“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”
自动配置JDK环境变量
参考见:
- 用记事本写程序
https://blog.csdn.net/caijunfen/article/details/70154143?locationNum=4&fps=1 - 用C#写工具
https://www.cnblogs.com/chr-wonder/p/5208541.html
bat脚本代码
https://blog.csdn.net/miracle_8/article/details/79397228
1.多个JDK版本的问题
公司之前环境配置的是java7,但是自己在未知前提下要使用java8的最新特性,导致在安装了1.7后又安装了1.8,系统依赖的是1.7,导致在CMD输入命令时报错。
这里,环境变量中只配置了1.7,并没有对1.8配置任何环境变量值。
C:>java -version
Error: Registry key ‘Software\JavaSoft\Java Runtime Environment’\CurrentVersion’
has value ‘1.8’, but ‘1.7’ is required.
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.
解决办法
经如下几步修改,即可将系统默认jdk恢复到1.7:
修改注册表
打开HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft
分别修改Java Development kit及Java Runtime Environment中的CurrentVersion值为1.7
替换文件
将%JAVA7_HOME%\bin里的 java.exe javaw.exe javaws.exe 复制到 C:\Windows/System32 及 C:\Windows\SysWOW64 并替换原有文件,将上述三个文件的快捷方式复制到 C:\ProgramData\Oracle\Java\javapath 并替换原有文件- 执行java -version进行验证
C:>java -version
java version “1.7.0_25”
Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
2.’Javac’ 不是内部或外部的命令
Win7系统配置完环境变量后,在命令提示框中输入javac命令时,弹出提示:“‘javac’ 不是内部或外部命令,也不是可运行的程序 或批处理文件” [系统报错]
今天在win10下重新配置了一下java环境变量。跟着网上的流程下来,基本都没有问题。
但配置到最后发现在cmd窗口中输入java -version java 都能正常运行,唯独javac不行。显示javac不是内部或外部命令的问题。
解决办法
笔者是win 7 64系统
PATH配置中路径一定要用绝对路径,不能用JAVA_HOME
网上的一般都是 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
把%JAVA_HOME%替换成你的JAVA_HOME的值就好了。