[英]Changing between Java8 and Java7 Environments
我正在尝试在Java7和Java 8环境之间进行更改。 我创建了以下新的环境变量:
JAVA7_HOME - java 7 location
JAVA8_HOME - java 8 location
JAVA_HOME
然后,我将JAVA_HOME设置为%JAVA8_HOME%或%JAVA7_HOME%。 在路上我有
%JAVA_HOME%\bin;REST OF PATH
似乎无论我将JAVA_HOME设置为什么,即使对于新会话,它也不会更改java -version的结果。
在轻松地在两个Java环境之间进行更改的同时,我们又如何能拥有它们呢? 我尝试将所有内容设置为正确的路径,包括:
HKEY_CURRENT_USER\Environment JAVA_HOME
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment CurrentVersion
甚至更改符号链接以指向我们想要的版本。 我们已经创建了批处理脚本来完成所有工作,已经创建了powershell / .net来完成工作,然后进行广播,尝试全部设置并重新启动资源管理器。似乎无法在7和8之间切换。
有谁知道如何解决这个问题?
基本问题是由于某些原因,通过命令行更改环境变量不是永久的。 您必须通过UI设置新值。
我曾经做过以下事情:
java.exe
和javac.exe
。 将可执行文件复制为java8.exe
和javac8.exe
。 java7.exe
和javac7.exe
。 现在您可以调用java / javac,java7 / javac7和java8 / javac8。 (我不确定为什么有人会需要JAVA_HOME,但我从未设置过。)其他可执行文件(例如jar.exe等)将从默认的jdk(路径中的第一个)中获取,这没关系,因为您的JAR无论jar.exe是哪一个文件,它们都是相同的。
然后继续配置所需的应用程序,例如eclipse。
希望您的构建工具也可以被告知要使用哪些可执行文件。 如果没有,它将使用默认值。
这样,您还可以实现疯狂的配置。 例如,假设您想将jdk7设置为默认值,但希望始终使用java8 javadoc
。 然后只需将jdk7中的javadoc.exe
重命名为例如javadoc-dontuse.exe
。 这样,当您键入javadoc.exe
或某些应用程序调用它时,它将不会在(默认)jdk7中找到它,而是继续在jdk8 bin中搜索。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.