8

我正在通过 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
4

12 回答 12

12

看起来你正在使用 Windows。请转到环境变量并将用户变量定义为:

    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(如果存在)。

于 2012-10-30T02:48:37.323 回答
10

我通过删除 system32 文件夹中的 java.exe 来解决此问题。然后在cmd中java命令引用路径环境变量中设置的jdk。

于 2013-07-25T07:46:11.597 回答
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 的以下属性

无论路径变量如何,这都将解决问题。

于 2013-09-26T11:23:10.550 回答
4

对于那些有同样问题的人,我建议阅读这个帖子:

https://superuser.com/questions/479889/wrong-java-version-being-reported

wmz 的引用:“要检查从命令行运行 'java -version' 时实际执行的内容:for %I in (java.exe) do @echo %~$PATH:I”

于 2013-01-04T15:10:35.093 回答
2

我有同样的问题。问题是 Java 安装会将 java.exe、javaw.exe 和 javaws.exe 复制到 windows/system32 目录。您必须最近安装了 JDK7。

我刚刚从 Windows/System32 目录中删除了这些文件,但是在路径中保留了旧版本。这解决了这个问题。

试试看。

于 2014-08-13T14:56:25.310 回答
2

Windows 正在检查 PATH 变量以查找名为 java 的可执行文件并使用它来启动您的应用程序。在开发环境中有很多安装是很正常的(就像你一样)。但是,这要求您管理您的环境。

在 Windows 中设置环境变量有两种方法。通过如上所述转到我的电脑 > 高级设置 > 环境变量,您可以为您的 JDK 安装设置一个变量,然后更新路径以在该安装中找到 bin 目录。您可以选择更新系统变量(所有用户)或用户变量(仅限您的帐户)。

就个人而言,我不喜欢使用系统/用户环境变量,因为这提供的灵活性较低。您可以使用 bat 文件明确设置特定时刻的路径,或者确实覆盖 JAVA_HOME 以指向不同的安装。

如果您使用的是 IDE,通常可以基于每个项目指定目标运行时。或者,在运行程序时,提供您希望使用的 java 可执行文件版本的完全限定路径。

于 2012-10-30T03:21:29.320 回答
2

背景

我使用的是 Windows 8.1,并且安装了 JDK6 和 JDK8。出于开发目的,我需要克服java version "1.6.0_45"命令java -versionjavac 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.exe %JAVA_HOME%\bin(请将变量替换为实际文件夹)

于 2016-01-29T04:33:58.283 回答
2

我面临着类似的问题。我同时使用 Java 7 和 Java 8。Java 8 安装在机器中,但我从另一个系统复制了 7 设置。我已经设置了指向 7 的 JAVA_HOME 和路径。但是当我尝试回显 %path% 时,它会在类路径中显示 Jdk 8。经过大量的谷歌,我在路径中找到了“C:\ProgramData\Oracle\Java\javapath”。从路径中删除线解决了这个问题。

于 2015-09-03T05:44:03.030 回答
0

java 有两种类型的路径:永久和临时。

这是描述如何为 Java 设置路径的视频教程?

如何为 Java 设置路径:https://www.youtube.com/watch?v=rM4Qq3Ua7Sk

本视频教程将指导您为 Java 设置永久和临时路径。只需按照步骤操作。这适用于任何版本的 Java、JDK 或 JRE。在视频中我使用了 JDK 的路径,只需复制 JRE 的路径而不是 JDK,其余部分相同。

或者在这里阅读教程:如何为 Java 设置路径:http://aatul.me/2011/08/24/how-to-set-path-for-java/

希望这些解决方案对您有所帮助。

于 2014-06-19T17:31:00.007 回答
0

只需右键单击 MyComputer,然后单击 Advanced System Settings-->Environment Variables-->New 然后在“variable Name”文本字段中添加字符串“PATH”,或者如果它已经存在,则从列表中选择 PATH 并单击编辑,然后附加程序文件中java中“bin”文件夹的路径到变量值文本字段后跟分号(;),如果没有退出,则在“变量值”字段中添加java文件夹的bin目录路径,然后单击“确定”。

如果要检查结果,请打开命令提示符并键入“java”,然后按 Enter。

于 2013-05-07T04:48:39.983 回答
0

PATH变量设置为您的 jdk6\bin 目录。这样它就会从jdk6中选择javacand 。java

要设置路径变量,请转到环境变量。设置路径变量后,您需要重新启动命令提示符。(不是电脑)。

于 2012-10-30T03:13:49.010 回答
0

对于 windows 7(X86) 路径设置:

第一步:我的电脑(右键)-->属性-->高级设置-->环境变量-->新建(用户变量)

在这个第一个变量名上:“”JAVA_HOME“”值:“”C:\Program Files\Java\jdk1.7.0_45“”

第二个变量名:“”PATH“”值:“”C:\Program Files\Java\jdk1.7.0_45\bin;.; “”

于 2013-11-25T08:59:28.157 回答