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”是可以使用的。(猜测:可能跟空格和括号有关)

所以还是建议安装在不带空格,不带括号的文件夹下比较稳妥。

 

博客分类: 
Total votes: 1040

添加新评论