今天在win7上搭建weblogic这一个中间件时,遇到了这样一个问题:我所使用的是jre里面的java.exe并不是jdk里面的。我打开环境变量设置,仔细看了看,我配置的的确是jdk,怎么就是提示我是jre了捏? 原来这里面有个陷阱,那么陷阱是啥?
1. 问题点
可以看到,安装的时候提示我使用的是jre
2. 查看环境变量
echo %PATH%
返回的内容如下,可以看到我配置的环境变量中,使用了jdk目录而不是jre。
3. 问题分析
那么我们仔细看一看我的环境变量,第一个目录的值为C:\ProgramData\Oracle\Java\javapath,这个javapath不禁让我们有了众多的疑问?
- 它是干什么用的
- 目录里面有什么
- 会不会是这一个目录的值影响着我的java环境变量
4. 打开javapath目录,发现有java.exe
没想到这个目录居然存放着java.exe,和我jdk里面的java.exe产生冲突了,而windows的话,假如在不同的目录中有重名文件,解析时以最靠前的目录为准。很明显,javapath的位置要比我jdk的目录要靠前,因为我实际调用的是javapath的java.exe
5. 解决方法
- 调整目录的位置顺序,将javapath放到PATH环境变量的最后(推荐)
- 删除javapath这个目录(不建议)