Java环境配置及遇到的问题解决方法
先说下,我写这篇文章时,使用的是win7 64位机。
Java环境配置:
Java环境的一般配置如下:
依次点击:“我的电脑”-(右键)“属性”-“高级”-“环境变量”,弹出Windows的“环境变量”配置卡。
在“系统变量”栏下:
1. 新建“JAVA_HOME”,设置其值为JDK所在的绝对路径(例如 C:\workspace\Applications\JAVA\SDK)。注意最后不要加分号“;”。
2. 新建“CLASSPATH”(如果已有,则直接编辑),设置其值为 .;%JAVA_HOME%\lib (若值中原来有内容,用分号与之隔开)。注意路径前的符号为.;不能漏掉
3. 新建“PATH”(如果已有,则直接编辑),值: %JAVA_HOME%\bin; (若值中原来有内容,用分号与之隔开)。
Java环境配置遇到的问题:
- 新建“JAVA_HOME”时,后面不要加分号“;”。
- 在执行java时提示错误:
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
这个问题找了很久,网上有人说要把classpath下面的dt.jar,tools.jar转换一下什么。我试过了,没用。
后来看到了这篇文章: http://hi.baidu.com/su_xue_2008/item/9144065cd8fabb3095eb0598,我遇到的问题跟他一样。
程序运行的优先规则通常是: 在本目录及子目录无此程序(java.exe)的情况下,首先找系统目录%SystemRoot%,%SystemRoot%\system32(具体到某一个系统, 经常指的是C:\WINDOWS和C:\WINDOWS\system32这两个文件夹。),接下来才会找其他用户定义path对应的目录。如果找到了该程序,则搜索结束,运行该程序。
我坚信自己的JAVA_HOME, CLASSPATH, PATH都是配的对的,但是执行总是出错,说明系统执行的并不是我配置的java环境。系统执行的java应该优先于我配置的路径的。
于是,在C:\WINDOWS\system32下,找到了java.exe javaws.exe !!把这几个文件移除之后就OK了。困扰很久的问题终于解决了,跟上面文章写的一样:内流满面啊。
- SDK安装在“C:\Program Files (x86)\Java”下。配置path为“%JAVA_HOME%\bin”无效,但是直接写“C:\Program Files (x86)\Java\bin”是可以使用的。(猜测:可能跟空格和括号有关)
所以还是建议安装在不带空格,不带括号的文件夹下比较稳妥。
添加新评论