Java 在Windows 7上的32位和64位JDK平台之间切换

Java 在Windows 7上的32位和64位JDK平台之间切换,java,Java,我在笔记本电脑上使用Windows7。我正在使用只在32位JDK上工作的jpcap库。在我的机器上安装了32位和64位JDK。如何在64位和32位JDK之间切换 我尝试更改%JAVAHOME%和%PATH%环境变量,但没有成功。我应该更改注册表中的任何内容吗?不,不要触摸注册表。每个正在运行的Java应用程序都会获得一个唯一的JVM实例。因此,据我所知,单个java程序无法在一个JVM中运行部分代码,而在另一个JVM中运行其他部分代码。但是,您可以选择特定java程序在哪个JRE中运行,这样您就

我在笔记本电脑上使用Windows7。我正在使用只在32位JDK上工作的jpcap库。在我的机器上安装了32位和64位JDK。如何在64位和32位JDK之间切换


我尝试更改
%JAVAHOME%
%PATH%
环境变量,但没有成功。我应该更改注册表中的任何内容吗?

不,不要触摸注册表。每个正在运行的Java应用程序都会获得一个唯一的JVM实例。因此,据我所知,单个java程序无法在一个JVM中运行部分代码,而在另一个JVM中运行其他部分代码。但是,您可以选择特定java程序在哪个JRE中运行,这样您就可以在32位java版本中运行整个jpcap程序。使用指向java.exe确切位置的启动脚本(批处理文件)。当您运行“javamyclassname”时,实际上只是在
PATH
环境变量上查找java可执行文件,因此通过显式指定路径,您可以选择您的版本。换句话说,如果您使用“java MyClassName”运行java程序(或者如果您机器上的程序这样做),它将使用
PATH
环境变量中的java.exe应用程序。应用程序本身可以使用他们选择的任何环境变量:通常用于java的是
java\u HOME
JRE\u HOME
。因此,您可能希望尝试设置这两个选项,然后再次尝试运行您的程序

不,不要触摸注册表。每个正在运行的Java应用程序都会获得一个唯一的JVM实例。因此,据我所知,单个java程序无法在一个JVM中运行部分代码,而在另一个JVM中运行其他部分代码。但是,您可以选择特定java程序在哪个JRE中运行,这样您就可以在32位java版本中运行整个jpcap程序。使用指向java.exe确切位置的启动脚本(批处理文件)。当您运行“javamyclassname”时,实际上只是在
PATH
环境变量上查找java可执行文件,因此通过显式指定路径,您可以选择您的版本。换句话说,如果您使用“java MyClassName”运行java程序(或者如果您机器上的程序这样做),它将使用
PATH
环境变量中的java.exe应用程序。应用程序本身可以使用他们选择的任何环境变量:通常用于java的是
java\u HOME
JRE\u HOME
。因此,您可能希望尝试设置这两个选项,然后再次尝试运行您的程序

在系统环境变量path变量中设置java的路径。将其设置为在任何其他路径之前(如果存在java或javaw,即使是System 32)。

在系统环境变量path变量中设置java的路径。将其设置为在任何其他路径之前(如果存在java或javaw,即使是System 32)。

您可以设置路径,或者在IDE中的JDK之间切换。我个人使用JetBrains IntelliJ IDEA,并通过IDE设置JDK

通过IDE设置:

从项目内部:

  • 单击文件->项目结构
  • 在“项目设置”下选择“项目”
  • 选择项目SDK。如果您的未列出,请单击New->JDK并浏览JDK
来自新项目:

  • 单击文件->新建项目
  • 选择项目SDK。如果您的未列出,请单击New->JDK并浏览JDK
如果要设置路径:

按照列出的说明操作。 请记住,jar将使用路径中指定的任何java版本运行

如果PATH变量不起作用,请尝试通过删除不必要的条目并重新启动来清理PATH变量。重新启动后,将Java添加到路径并再次重新启动


如果您仍然有问题,请尝试使用您试图使用的java版本的绝对路径执行,以确保其正常工作。如果它确实有效,请对照它检查path变量,以确保它是准确的

您可以设置路径,也可以在IDE中的JDK之间切换。我个人使用JetBrains IntelliJ IDEA,并通过IDE设置JDK

通过IDE设置:

从项目内部:

  • 单击文件->项目结构
  • 在“项目设置”下选择“项目”
  • 选择项目SDK。如果您的未列出,请单击New->JDK并浏览JDK
来自新项目:

  • 单击文件->新建项目
  • 选择项目SDK。如果您的未列出,请单击New->JDK并浏览JDK
如果要设置路径:

按照列出的说明操作。 请记住,jar将使用路径中指定的任何java版本运行

如果PATH变量不起作用,请尝试通过删除不必要的条目并重新启动来清理PATH变量。重新启动后,将Java添加到路径并再次重新启动


如果您仍然有问题,请尝试使用您试图使用的java版本的绝对路径执行,以确保其正常工作。如果它确实有效,请对照它检查path变量,以确保它是准确的

@Srikant Sahay,非常感谢!它在widnows 8.1 64位操作系统上运行

我能够根据需要在Windows 8.1上的32位和64位JDK平台之间切换。正如Srikant所建议的,诀窍是在所有其他路径变量之前设置路径。确保将fist放在path变量中

java -d32 -version           ( or simply )
java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode, sharing)
但是,一次只能使用一个实例。您可以选择32位版本或64位版本。因此,如果您键入“java-d64-version”,您将得到

Error: This Java instance does not support a 64-bit JVM.
Please install the desired version.
因此,如果您想要一个64位JVM,那么应该将JDk安装文件夹(在我的例子中是“C:\Program Files\Java\jdk1.7.0\u 51\bin”,因为OS默认为64位)放在path变量的第一位

java -d32 -version           ( or simply )
java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode, sharing)
干杯

@Srikant