我们有几个应用程序在Java 5上运行,现在想要引入一个基于Java 6的应用程序.这两个java版本可以在Windows下共存吗?
是否有任何控制面板可以为不同的应用程序设置适当的Java版本,或者以任何其他方式设置,将使用哪个版本的Java来运行该特定应用程序?
rea*_*ane 58
当然,您可以在Windows下使用多个版本的Java.不同的应用程序可以使用不同的Java版本.你的申请是如何开始的?通常你会有一个批处理文件,其中有类似的东西
java ...
Run Code Online (Sandbox Code Playgroud)
这将使用PATH变量搜索Java可执行文件.因此,如果Java 5首先出现在PATH上,那么运行Java 6应用程序时会遇到问题.然后,您应该修改批处理文件以使用某个Java版本,例如通过定义JAVA6HOME
具有该值的环境变量C:\java\java6
(如果此目录中安装了Java 6)并更改批处理文件调用
%JAVA6HOME%\bin\java ...
Run Code Online (Sandbox Code Playgroud)
Mos*_*she 11
绝对可以并排安装几个JRE/JDK版本.此外,您不必为此发生任何特殊事情,因为Sun正在为每个文件创建一个不同的文件夹(在Program Files下).
没有控制面板可以检查哪个JRE适用于每个应用程序.基本上,将运行的JRE将是PATH环境变量中的第一个.您可以更改它,或者更改JAVA_HOME变量,或创建特定的cmd/bat文件以启动所需的应用程序,每个文件在路径中具有不同的JRE.
小智 11
我对Windows中的CLASSPATH,JAVA_HOME和PATH想法的笨拙感到震惊,以便跟踪Java文件.我来到这里,因为有多个JRE,以及如何满足它.没有反刍信息,来自一个比我聪明得多的人,我宁愿指出他关于这个问题的文章,对我而言,它完美地解决了这个问题.
文章:Ted Neward:多个Java家庭:为Java应用程序提供自己的JRE
随着Java作为服务器端开发语言的指数级增长,Java开发工具,环境,框架和扩展的指数级增长也相应增加.不幸的是,并非所有这些工具在相同的Java VM安装下都可以很好地协同工作.有些需要符合Servlet 2.1的环境,有些需要2.2.有些仅在JDK 1.2或更高版本下运行,有些在JDK 1.1下运行(并且不高于JDK 1.1).有些需要来自Swing前1.0天的"com.sun.swing"软件包,其他需要"javax.swing"软件包名称.
更糟糕的是,甚至在公司企业内也可以发现这个问题,因为由于安装了一个新的(看似无关的)应用程序版本所需的Java扩展,六个月前使用Java开发的系统可能突然"无法工作".这可能会使整个公司的Java应用程序部署变得复杂,并引导客户想知道为什么,在臭名昭着的"安装 - 这个应用程序 - 破坏我的系统"开始五年后,微软的DLL计划开始出现问题,我们仍然存在进步远不止于此.(事实上,新的.NET计划实际上试图解决刚刚描述的臭名昭着的"DLL-Hell"问题.)
本文描述了如何配置Java安装,以便给定的应用程序接收自己的私有JRE,允许多个Java环境共存而不会让客户(或系统管理员)疯狂......
小智 6
我在用我自己的java版本启动JMeter时使用了一个简单的脚本
setlocal
set JAVA_HOME="c:\java8"
set PATH=%JAVA_HOME%\bin;%PATH%;
java -version
Run Code Online (Sandbox Code Playgroud)
要拥有一个“便携式”java,您可以在此处使用此方法:
我们可以使用 SDKMan 在同一台机器上安装多个版本的 Java 开发工具包。
SDKMan 的一些要点如下:
_HOME
和PATH
环境变量,因为 SDKMan 会自动处理它。SDKMan 可以在任何基于 UNIX 的平台上运行,例如 Mac OSX、Linux、Cygwin、Solaris 和 FreeBSD,我们可以使用以下命令安装它:
$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
Run Code Online (Sandbox Code Playgroud)
因为 SDKMan 是用bash编写的,并且只需要curl和zip/unzip出现在您的系统上。您也可以通过首先为 Windows环境安装Cygwin或Git Bash,然后运行上面的命令,在 Windows上安装 SDKMan 。
命令sdk list java
将为我们提供一个 Java 版本列表,我们可以使用 SDKMan 安装这些版本。
安装 Java 8
$ sdk install java 8.0.201-oracle
Run Code Online (Sandbox Code Playgroud)
安装 Java 9
$ sdk install java 9.0.4-open
Run Code Online (Sandbox Code Playgroud)
安装 Java 11
$ sdk install java 11.0.2-open
Run Code Online (Sandbox Code Playgroud)
卸载 Java 版本
如果您想卸载任何 JDK 版本,例如 11.0.2-open,您可以按如下方式进行:
$ sdk uninstall java 11.0.2-open
Run Code Online (Sandbox Code Playgroud)
切换当前 Java 版本
如果要为所有终端和应用程序激活一个版本的JDK,可以使用命令
sdk default java <your-java_version>
Run Code Online (Sandbox Code Playgroud)
以上命令还将自动更新 PATH 和 JAVA_HOME 变量。您可以在我的文章如何在同一台机器上安装多个版本的 Java 中阅读更多内容。
归档时间: |
|
查看次数: |
267813 次 |
最近记录: |