java - Windows 上的多个 java 版本

标签 java windows

我看到这个问题已在这里得到解决 Multiple Java versions running concurrently under Windows ,我认为自从这个问题得到解决以来,有些事情已经发生了变化。

我想在 Windows 10 上运行多个版本的 java。在调查此问题时,我发现 Oracle(我认为)已修改了我的计算机上的 PATH 环境变量。 有 2 个条目:

C:\Program Files (x86)\Common Files\Oracle\Java\javapath

C:\ProgramData\Oracle\Java\javapath

这两个条目都是指向我的默认 java 版本(在本例中为 1.10)的符号链接(symbolic link)。我认为运行多个版本的最简单方法是删除这两个条目,添加 JAVA_HOME 环境变量并将 %JAVA_HOME%\bin 添加到我的 PATH 环境变量。当我想更改 java 版本时,我只需更改 JAVA_HOME 变量即可。

我想知道人们是否认为这是完成我想要的事情的最佳方式,还有人知道为什么有2个不同的条目指向java的符号链接(symbolic link)。

最佳答案

我倾向于从系统中删除所有 java 变量,并将它们放入用于启动我的 java 应用程序的批处理文件中 - 如果这样做,您可以在各个版本之间保持完全控制。

尽管 Java 应用程序往往适用于较新的 Java 版本,但有时程序会安装较旧的 Java 版本并修改您的路径/环境,因此您可能应该让批处理文件将所需的 Java bin 路径放在path 变量并覆盖 java_home 变量(我认为 java_opts 也被使用并且可以由批处理文件设置)。

您还可以将批处理文件添加到路径中,然后运行“CMD”以启动新的 shell。这允许您直接从命令行开发或运行 java,而无需永久修改您的环境。

Java 从来没有一个简单的命令行,所以我认为任何必须输入 java -jar 的人都想构建一个批处理文件,这样他们就可以像任何 .exe 一样启动它,所以为什么不设置你的环境也在那里吗?

关于java - Windows 上的多个 java 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52743886/

相关文章:

Python 日志记录失败,网络驱动器上的日志文件(Windows 10)

java - 将一个 int 数组复制到一个更大的 int 数组中,该数组表示给定中心点的图像

java - Gradle文件定位问题

java - 在对象数组的元素中调用方法

windows - 寻找有关在 Windows 7 上安装应用程序的 "right"方式的文档

windows - 如何从 Windows Vista Complete PC 备份中提取文件?

r - 在 VSCode 中为 "Error: pandoc version 1.12.3 or higher is required",但在 R Studio 中有效

java - JTextArea 上的 KeyEvent 问题

java - 为什么输出存在差异

c++ - 读取大小不是 8 的倍数的位图会导致像素移位(和换行)