我正在通过java 1.6 u_17编程,但是我安装了JRE版本6和JRE版本7,那么如何从JDK 1.6运行我编译的程序只运行JRE 6?
默认情况下,它通过JRE 7运行我的类文件,如何更改此行为?任何在Windows 7中设置类路径的想法,就像我们为JDK做的那样。
以下内容显示在我的命令提示符
中E:\JAVA>javac -version
javac 1.6.0_17
E:\JAVA>java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) Client VM (build 23.5-b02, mixed mode, sharing)
这是我的SET命令显示Windows 7环境路径
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Administrator\AppData\Roaming
ClassPath=C:\Program Files\Java\jdk1.6.0_17\bin\mysql-connector-java-5.1.5-bin.jar;
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=RANDMATE-PC
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Administrator
JAVA_HOME=C:\Program Files\Java\jre6\bin;
LOCALAPPDATA=C:\Users\Administrator\AppData\Local
LOGONSERVER=\\RANDMATE-PC
NUMBER_OF_PROCESSORS=2
OS=Windows_NT Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.6.0_17\bin;C:\Program Files\Java\jre6\bin;C:\Program Files\MyS
QL\MySQL Server 5.1\bin;C:\Program Files\UltraEdit\;C:\Program Files\Jar2Exe Wizard\;C:\Program Files\Java\jre6\bin;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 6 Stepping 5, GenuineIntel
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0605
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\ADMINI~1\AppData\Local\Temp
TMP=C:\Users\ADMINI~1\AppData\Local\Temp
USERDOMAIN=RANDMATE-PC
USERNAME=Administrator
USERPROFILE=C:\Users\Administrator
windir=C:\Windows
答案 0 :(得分:12)
看起来您正在使用Windows。请转到Environment Variables并将用户变量定义为:
Right Click(My Computers) -> Advanced -> Environment Variables -> Add
Variable Name = JAVA_HOME
Variable Value = Root Folder of Java 1.6.0_17 installation
同样在同一屏幕中,请检查PATH
变量,并确保在路径中添加**bin** Folder of Java 1.6.0_17 installation
,最好在开头添加,并从路径中删除Java 7(如果有)。 / p>
答案 1 :(得分:10)
我通过删除system32文件夹中的java.exe来解决此问题。然后在cmd中,java命令引用路径环境变量中的jdk设置。
答案 2 :(得分:5)
java.exe也可以在C:\ windows \ system32中使用,在你的情况下,它的版本可能是1.7 ..
由于您的路径首先是C:\ windows \ system32。无论如何设置其余的路径,声纳总是会加载jre7。 (请参阅Sonar目录中的conf \ wrapper.conf,默认情况下它有wrapper.java.command = java)
要解决此问题,请更改“wrapper.conf”文件的以下属性 wrapper.java.command = C:\ Program Files \ Java \ jdk1.6.0_XX \ bin \ java
无论路径变量如何,这都将解决问题。
答案 3 :(得分:4)
对于那些有同样问题的人,我建议你阅读这个帖子:
https://superuser.com/questions/479889/wrong-java-version-being-reported
引用wmz:“检查从命令行运行'java -version'时实际执行的内容: for(I)in(java.exe)do @echo%〜$ PATH:I“
答案 4 :(得分:2)
Windows正在检查PATH变量以查找名为java的可执行文件并使用它来启动您的应用程序。在开发环境中进行许多安装是非常正常的(就像你一样)。但是,这要求您管理您的环境。
您可以通过两种方式在Windows中设置环境变量。转到我的电脑>高级设置>环境变量如上所述,您可以为JDK安装设置变量,然后更新Path以在该安装中查找bin目录。您可以选择更新系统变量(所有用户)或用户变量(仅限您的帐户)。
就个人而言,我不想使用系统/用户环境变量,因为这提供了较小的灵活性。您可以使用bat文件在特定时刻显式设置Path,或者实际上覆盖JAVA_HOME以指向其他安装。
如果您使用的是IDE,通常可以基于每个项目指定目标运行时。或者,在运行程序时,提供要使用的java可执行文件版本的完全限定路径。
答案 5 :(得分:2)
我有同样的问题。问题是Java安装会将java.exe,javaw.exe和javaws.exe复制到windows / system32目录。您最近必须安装了JDK7。
我刚从Windows / System32目录中删除了这些文件,但是在路径中保留了旧版本。这解决了这个问题。
尝试一下。
答案 6 :(得分:2)
我遇到了类似的问题。我一起使用Java 7和Java 8。 Java 8安装在机器中,但我从另一个系统复制了7个设置。我已经设置了JAVA_HOME&路径指向7.但是当我尝试回显%path%时,它会在类路径中显示Jdk 8。经过大量的谷歌,我找到了" C:\ ProgramData \ Oracle \ Java \ javapath"在路上。从路径中删除线路解决了问题。
答案 7 :(得分:2)
<强>背景强>
我使用的是Windows 8.1,我安装了JDK6和JDK8。出于开发目的,我需要java version "1.6.0_45"
通过java -version
和javac 1.6.0_45
而不是javac -version
。将JAVA_HOME
设置为JDK6的主文件夹并在%JAVA_HOME/bin%
中添加Path
后,第二个命令按预期工作。但是第一个命令仍然返回java version "1.8.0_71"
<强>疑难解答强>
我可以在Path
环境变量中找到一个指向C:\ProgramData\Oracle\Java
的条目。该文件夹实际上包含JDK8的java.exe的快捷方式。
正确的解决方案:卸载JDK 8
解决方法:编辑快捷方式文件,使其指向%JAVA_HOME%\bin
内的java.exe(请将变量替换为实际文件夹)
答案 8 :(得分:0)
将PATH
变量设置为jdk6 \ bin目录。这样它就会从jdk6中选择javac
和java
。
用于设置路径变量转到环境变量。 设置路径变量后,需要重新启动命令提示符。 (不是电脑)。
答案 9 :(得分:0)
右键单击MyComputer,然后右键单击Advanced System Settings - &gt; Environment Variables - &gt; New 然后在“变量名称”文本字段中添加字符串“PATH”或者如果已存在则从列表中选择PATH并单击编辑,然后将程序文件中java中“bin”文件夹的路径追加到“变量值”文本字段,然后是分号(;),如果不是退出,则在“变量值”字段中添加java文件夹的bin目录路径,然后单击“确定”。
如果要检查结果,请打开命令提示符并键入“java”,然后按Enter键。
答案 10 :(得分:0)
对于Windows 7(X86)路径设置:
第一步: Mycomputer(右键单击) - &gt;属性 - &gt;高级设置 - &gt;环境变量 - &gt; new (用户变量)
关于这个第一个变量名:“”JAVA_HOME“”value:“”C:\ Program Files \ Java \ jdk1.7.0_45“”
第二个变量名:“”PATH“”value:“”C:\ Program Files \ Java \ jdk1.7.0_45 \ bin;。; “”
答案 11 :(得分:0)
java有两种类型的路径:Permanent&amp;暂时的。
以下是描述如何为Java设置路径的视频教程?
How to Set path for Java : https://www.youtube.com/watch?v=rM4Qq3Ua7Sk
本视频教程将指导您设置Java的永久和临时路径。只需按照步骤操作即可这适用于任何版本的Java,JDK或JRE。在视频中我使用了JDK的路径,简单地复制JRE的路径而不是JDK,其余的是相同的。
或者在这里阅读教程:How to Set path for Java : http://aatul.me/2011/08/24/how-to-set-path-for-java/
希望这个解决方案能为您提供帮助。