【问题标题】:How to set path for Jre 6 when jre 7 installed?安装 jre 7 时如何设置 Jre 6 的路径?
【发布时间】:2012-10-30 02:43:23
【问题描述】:

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

这是用于显示 Windows 7 环境路径的 SET 命令

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

【问题讨论】:

  • 查看 Windows 中的 PATH 变量。您可以修改它以指向所需的 Java 版本所在的位置。或者您可以使用该位置运行 Java 启动器。
  • @Bhesh Gurung-我已经为 java JDK 1.6 单独设置了路径,但我没有为 JRE 6 或 7 设置路径。但是我的 java 类运行最新版本,有什么修复或者我可以在不卸载最新版本的情况下运行的命令?

标签: java path


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    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】:

      看起来您正在使用 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(如果存在)。

      【讨论】:

      • 我已经为 JDK 和 JRE 设置了路径。那为什么问题仍然存在。
      • @RandMate:很可能它获得了多个条目。正如我提到的那样执行清理。请确保路径中只有一个文件夹(JDK)。如果仍然有问题,请转到命令提示符并键入 path。分享我的输出。
      • @RandMate 您的JAVA_HOME 错误。用C:\Program Files\Java\jdk1.6.0_17 更新它。路径中有这么多java bin,全部删除。
      • @RandMate No bin Java_home 中的文件夹。 Java_Home 仅上升到根文件夹,即C:\Program Files\Java\jdk1.6.0_17。我怀疑导致问题的路径中有更多条目。能否请您清理整个路径变量,只留下Path = %JAVA_HOME%\bin 一会儿试试?请注意:更改值后打开新的命令提示符,然后尝试。
      • 我的 %Path% 环境变量有“%SystemRoot%\system32;”在它的开头,它一直将我的“java -version”设置为1.7 *。删除 Path 变量值的那部分让我的计算机设置为 java 1.6*
      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

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

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

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

        【讨论】:

        • @Romski-Iam 在 Windows 7 中通过命令提示符运行 Java。我不是使用命令的专家。你能给我推荐一个示例命令吗?
        • 如果您不想依赖 Windows 来决定运行哪个版本的 java.exe,您可以显式调用您想要的版本。因此,要使用不同版本的 Java 运行 HelloWorld 类,您需要输入“c:\java\jdk6\bin\java HelloWorld”或“c:\java\jdk7\bin\java HelloWorld”。显然,您需要更改实际路径以适应您的环境。
        【解决方案6】:

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

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

        试试看。

        【讨论】:

          【解决方案7】:

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

          【讨论】:

            【解决方案8】:

            背景

            我使用的是 Windows 8.1,并且安装了 JDK6 和 JDK8。出于开发目的,我需要通过命令java -versionjavac 1.6.0_45 通过javac -version 获得java version "1.6.0_45"。在将JAVA_HOME 设置为JDK6 的主文件夹并在Path 中添加%JAVA_HOME/bin% 后,第二个命令按预期工作。但是第一个命令仍然返回java version "1.8.0_71"

            疑难解答

            我可以在Path 环境变量中找到指向C:\ProgramData\Oracle\Java 的条目。这个文件夹实际上包含了JDK8的java.exe的快捷方式。

            正确的解决方案:卸载 JDK 8

            解决方法:编辑快捷方式文件,使其指向%JAVA_HOME%\bin内的java.exe(请将变量替换为实际文件夹)

            【讨论】:

              【解决方案9】:

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

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

              【讨论】:

              • @rbhawsar- 如果您看到我的问题,我已经更新了在我的 Windows 环境中设置的现有路径,所以我找不到我的 JRE 7,那么我还能在哪里更改它以通过 jre 6 运行,我希望现在你明白我的问题是什么。
              • 如果您通过命令提示符运行。请回显路径变量并确保使用正确的路径echo %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\MySQL\My SQL Server 5.1\bin;C:\Program Files \Java\jdk1.6.0_17\bin;\bin
              • C:\Progra~1\Java\jdk1.6.0_17\bin 试试这个。我只是想知道为什么它没有收到。
              【解决方案10】:

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

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

              【讨论】:

                【解决方案11】:

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

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

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

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

                【讨论】:

                  【解决方案12】:

                  java 有两种类型的路径:Permanent & Temporary。

                  这是描述如何为 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/

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

                  【讨论】:

                    猜你喜欢
                    • 2013-05-29
                    • 2017-03-27
                    • 1970-01-01
                    • 2023-03-18
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多