我在用户定义的变量和系统变量中设置了JAVA_HOME = C:\Program Files\Java\jdk1.6.0_26
,在系统变量中的用户定义变量classpath = .;
中设置了PATH = C:\Program Files\Java\jdk1.6.0_26\bin
。
现在当我在Windows 7操作系统上的cmd上键入java然后收到消息时 - 错误无法打开`C:\Program Files\Java\jre6\lib\i386\jvm.cfg'
。
这里要注意的是,最初只有jre6在Java文件夹中定义,所以我不得不安装jdk,但仍然得到这个错误任何线索?
更新
我能够获取java信息,我所做的最初是我在跟踪一些%SYSTEM_ROOT%
和PATH变量值中的其他变量时设置了路径变量信息,但现在我只将C:\Program Files\Java\jdk1.6.0_26\bin
作为第一个值PATH变量值列表因此工作,猜测%SYSTEM_ROOT%
具有指向旧jre路径位置的Path的预定义设置。
java -version
时,我
得到以下信息,我该怎么做
知道java安装是否是32位或
64位?java version“1.6.0_26”Java(TM)SE 运行时环境(构建 1.6.0_26-b03)Java HotSpot(TM)客户端VM(版本20.1-b02,混合模式, 共享)
答案 0 :(得分:3)
您的路径变量是正确的,但是对于classpath变量使用
SET Classpath="C:\Program Files\Java\jdk1.6.0_26\lib"
JVM在运行时使用类路径来搜索.class文件。
使用“。;” JVM将在bin目录中搜索.class文件,而rt.jar的已编译.class文件在lib目录中。
这就是你面临错误的原因。
详细了解classpath变量@ http://programmingbulls.com/classpath-variable-java
答案 1 :(得分:0)
您可以通过阅读java中的“sun.arch.data.model”系统属性来检查您的32位或64位;
System.out.println(System.getProperty("sun.arch.data.model"));
我的回答'64'。
您可以使用以下内容查看所有可用的系统属性;
Properties p = System.getProperties();
Enumeration keys = p.keys();
while (keys.hasMoreElements()) {
String key = (String) keys.nextElement();
String value = (String) p.get(key);
System.out.println(key + ": " + value);
}
答案 2 :(得分:0)
set path=%path%;"C:\Program Files\Java\jdk1.6.0_26\bin"