我在笔记本电脑上使用Windows 7。我正在使用仅适用于32位JDK的jpcap库。在我的机器上安装了32位和64位JDK。如何在64位和32位JDK之间切换?
我尝试更改%JAVAHOME%
和%PATH%
环境变量,但它不起作用。我应该更改注册表中的任何内容吗?
答案 0 :(得分:1)
您可以设置路径,也可以在IDE中的JDK之间切换。我个人使用JetBrains IntelliJ IDEA并通过IDE设置JDK。
通过IDE设置:
从项目中:
来自一个新项目:
如果您想设置路径:
按照列出的on the java.com site说明进行操作。 请记住,您的jar将使用PATH中指定的任何Java版本运行。
如果您的PATH变量不起作用,请尝试通过删除不必要的条目并重新启动来清理路径变量。重启后,将Java添加到路径并重新启动。
如果仍有问题,请尝试使用您尝试使用的java版本的绝对路径来确保其正常工作。如果确实有效,请检查路径变量以确保其准确性。
答案 1 :(得分:1)
我可以根据需要在Windows 8.1上切换32位和64位JDK平台。正如Srikant所建议的那样,技巧是在所有其他路径变量之前设置路径。确保你把拳头放在路径变量中。
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_51 \ bin”,因为操作系统默认为64位)路径变量。
喝彩!
答案 2 :(得分:0)
不,请勿触摸注册表。每个运行的Java应用程序都获得一个唯一的JVM实例。因此,据我所知,单个java程序无法在一个JVM中运行代码的某些部分,而在另一个JVM中运行代码的其他部分。但是,您可以选择运行特定Java程序的JRE,因此您可以在32位Java版本中运行整个jpcap程序。使用指向java.exe的确切位置的启动脚本(批处理文件)。当您运行“java MyClassName”时,它实际上只是在PATH
环境变量上找到java可执行文件,因此通过明确指定您的路径,您可以选择您的版本。换句话说,如果您使用“java MyClassName”运行java程序(或者如果您的计算机上的程序这样做),它将使用PATH
环境变量中的java.exe应用程序。应用程序本身可以使用他们选择的任何环境变量:通常用于java的是JAVA_HOME
和JRE_HOME
。所以你可能想尝试设置这两个,然后再尝试运行你的程序。
答案 3 :(得分:0)
在System Environment Variables PATH变量中设置java的路径。将它设置为任何其他路径之前(如果存在java或javaw,则为系统32)。