请教java version 7 x86"1.7.0

请教 ,电脑上安装有jdk1.6和jdk1.7,环境变量JAVA_HOME以前是1.7,后来改成1.6
因为1.7是 64位的,所以报错:
[ 22:38:49] [206 &javajni.c] [error] %1 不是有效的 Win32 应用程序。 [ 22:38:49] [985 &prunsrv.c] [error] Failed creating java D:\jdk1.7\jre\bin\server\jvm.dll [ 22:38:49] [1280 prunsrv.c] [error] ServiceStart returned 1 [ 22:38:49] [info] Run service finished.
我知道这个错是因为64位的1.7与tomcat6不兼容导致的。
现在的系统环境变量JAVA_HOME已经是1.6了,为什么我在启动Tomcat服务的时候,调用的还是1.7?看到setclasspath.bat 里面确实调用的%JAVA_HOME%
以下是问题补充:
:终于解决了,我把Tomcat服务卸载,重新注册了一下就可以了。原因是:我一开始注册的tomcat服务(那时的是jdk1.7),后来把系统变量JAVA_HOME改成1.6后,没重新注册tomcat服务,所以tomcat服务中的JAVA_HOME 还是指向1.7。tomcat服务的所用的环境变量是在注册服务的时候就已经定住了,我以前还错误以为是每次启动都会重新从系统变量中取值
引用来自“gjw12345”的评论clean project,如果还不行的话,卸载1.7,项目编译完后重装。是tomcat 问题,不是eclipse
引用来自“純白陰影”的评论echo %JAVA_HOME% 或者 java --version 看一下java --version &是1.6了,但启动tomcat服务后,再查看tomcat日志,就会报上面的错误,错误里调用的依然是1.7,很不解
echo %JAVA_HOME% 或者 java --version 看一下
clean project,如果还不行的话,卸载1.7,项目编译完后重装。2537人阅读
java(40)
最近遇到这个问题,在网上查到的解决方案基本都是下面几个:
1、右击项目,properties,project facets,改动java的version为1.7。
2、window,properties,java,compiler,改动compiler comliance level 为1.7.
3、window,properties,java,installed jres,新增一个1.7的,并选中。
不过,上面都没有能解决我的问题,后来在tomcat的配置中,发现jre版本不对,路径如下:
window,properties,server,runtime environments,选中Apache tomcat7,点击右侧edit,改动jre为1.7版本的。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:432861次
积分:4327
积分:4327
排名:第5911名
原创:51篇
转载:65篇
评论:55条
(2)(1)(1)(1)(2)(2)(2)(2)(1)(2)(7)(9)(5)(6)(3)(8)(8)(17)(15)(10)(12)java -version 与 javac -version的区别,看图说话。
系统环境变量配置为& jdk1.7
删除C:\Windows\System32& 下的java.exe 和javaw.exe 依旧没解决
each& %path%&& 结果
D:\ShenTong\D:\ShenTong\jre\D:\ShenTong\D:\ShenTong\jre\C:\Windo
ws\system32;C:\WC:\Windows\System32\WC:\Windows\System32\WindowsPower
Shell\v1.0\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOM
M\Bluetooth Software\syswow64;C:\Program Files (x86)\Common Files\Roxio Shared\1
0.0\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\;C:\Pr
ogram Files (x86)\Java\jdk1.7.0\%CATALINA_HOME%\bin
each %JAVA_HOME%
&问题的来源,在研究apcahe开源项目 lucene时,把lucene必须包 放到了& jdk1.7的lib目录下& 执行
java org.apache.lucene.demo.IndexFiles F:\FileTest\Lucene\file& 命令报如下错误
查询是jdk版本不匹配&& 然后就用了 下java 与 javac命令& 继而就想探讨下区别。
问题已经解决了。
首先,感谢各位的帮助。接下来就分享下方法吧。
按照上面所说 问题解决& 关键是& 将%JAVA_HOME%\bin& 放到path变量的最前面。
那么这样后面的问题就没错了&
欢迎mark &
--- 共有 1 条评论 ---
非常好的方法,thx
这个得看PATH怎么定义的。
看看你Windows的System32下的那个java.exe是什么版本的,删掉。有几个版本的jdk安装程序会丢个java.exe过去,不删掉他永远读到的都是他。
--- 共有 8 条评论 ---
: 哦。。。看错了 ,已经解决了 。还是很感谢你的帮助。
: 不是说cd,是说java命令的 -cp 也就是 -classpath 参数可以指定外部的jar包
,cd这个我会。之前是用cd 到jar包目录下执行java报错,后来才拷进去的。
: 另外 修改了环境变量需要重新打开命令提示符。还有就是外部的jar包即使不在CLASSPATH下也可以用java命令的-cp参数指定,不用甩去JDK的lib,系统包的目录还是不要放其他的包。具体可以搜索一下这个参数
: D:\ShenTong\jre\bin PATH里面这个去了,就是这个的原因造成你的java命令不对
这个问题是你的系统里边装了2个以上的jdk造成的,而且是jdk1.5是后安装的.
jdk版本高于1.5的,在安装时会把java.exe, javaw.exe复制到Windows系统的C:\Windows\system32下.而javac.exe却没有复制. Windows系统会把C:\Windows\system32当做系统的首选Path.
你的Java_home是指向jdk1.7的. 因此javac -version时显示的是1.7版本, java -version显示1.5版本
想要同时显示1.7, 可以到C:\Windows\system32把java.exe, javaw.exe手动删除, 这样在试试各个version
--- 共有 2 条评论 ---
删除之后还是老样子。
删除java.exe和javaw.exe对系统没影响吧?
java和javac是两个东西 后者是编译器 也就是说前者是jdk版本后者是java编译器的版本
从上面的内容可以看出来你classpath下的jdk应该是1.5的
--- 共有 1 条评论 ---
不对啊,系统环境变量里JAVA_HOME是1.7的
对应classpath也就是1.7的啊
引用来自“震秦”的答案 这个问题是你的系统里边装了2个以上的jdk造成的,而且是jdk1.5是后安装的.
jdk版本高于1.5的,在安装时会把java.exe, javaw.exe复制到Windows系统的C:\Windows\system32下.而javac.exe却没有复制. Windows系统会把C:\Windows\system32当做系统的首选Path.
你的Java_home是指向jdk1.7的. 因此javac -version时显示的是1.7版本, java -version显示1.5版本
想要同时显示1.7, 可以到C:\Windows\system32把java.exe, javaw.exe手动删除, 这样在试试各个version
删吧, 没啥影响. jdk1.5以上这样做是为了那些不配置Java_home, classpath, path等能正确运行java程序的,删除了他们没啥影响, 只要你Java环境变量设置正确都没什么.
删除了, 记得重新启动一个新的控制台,执行他们.&
同时看看你的Java_home的设置, 看看path指向的哪里?
echo %JAVA_HOME%
echo %PATH%
--- 共有 1 条评论 ---
可以看出都是1.7
,但是java -version 还是1.5
楼上说的都是正确的,楼主一定要认真看,理解了再去做。
假设我现在安装的是旧版本的JDK1.5,那么在系统环境变量里我们设置了java_home和classpath,对应存放的注册表项是 (HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Environment),JDK在安装的过程当中将在注册表会生成如下3个项目: HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Development Kit HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Plug-in HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment 同时,JDK安装程序将会把java.exe,javaw.exe,javaws.exe这3个可执行文件拷贝 到%SystemRoot%\system32目录下,由于%SystemRoot%\system32被操作系统缺省的设置为最高优先权的PATH搜索 路径,因此可保证用户在命令行任何目录下可运行java.exe来启动JVM
--- 共有 1 条评论 ---
嗯,说的有道理。这个注册表我也在网上搜索过此类问题,但是我的 没有Java Development Kit项目
删注册表,删%SystemRoot%\system32目录下的文件
--- 共有 1 条评论 ---
按照2楼的说法,已经删除了
环境遍历没配置好,不说了
java -version 是Java的版本信息
javac -version 是Java compile的版本信息

我要回帖

更多关于 java version 1.8.0 的文章

 

随机推荐