我们想在多台机器上更新JDK环境,都运行windows但是版本不同(XP或者7)
为此,我现在正在创建一个脚本,它将自动运行正确的安装程序(32/64 位)。 我尝试使用以下命令运行安装程序:
jdk-8u25-windows-x64.exe/s ADDLOCAL="ToolsFeature,SourceFeature,PublicjreFeature"
这在没有安装 JDK/JRE 8 的机器上运行良好。但是,我遇到了一些问题:
- 如果 JDK/JRE 8 已经安装,安装程序会同时卸载 JDK 和 JRE,而不是什么都不做(或重新安装)
- 如果需要重新启动,它会自动强制执行,我需要避免这种情况,因为在安装完成后我需要在脚本中执行其他操作。
- 没有 VERBOSE 模式/日志文件来指示安装程序实际在做什么
我查看了这些来源:
- JDK Installation for Microsoft Windows - Installing the JDK Silently
- Windows JRE Installer Options - Command-Line Installation
但他们似乎缺乏并且非常困惑什么会给我想要的结果。
最佳答案
我会分别处理 JDK 和 JRE:
JDK 不依赖于注册表项或安装程序 exe 所做的任何其他事情。所以安装 JDK - 没有 Public JRE - 在一台机器上使用
jdk-8u25-windows-x64.exe /s ADDLOCAL="ToolsFeature,SourceFeature"
然后您可以简单地压缩生成的安装,将其复制并解压缩到具有相同操作系统类型的其他机器上。
JRE 安装程序(从 Oracle 单独下载)可以使用此处记录的选项和配置文件运行:http://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_installer_options.html
假设配置与安装程序 exe 位于同一目录中,则可以使用选项 INSTALLCFG="%cd%\jre-install-options.cfg"
。否则,需要配置文件的完整路径 (INSTALLCFG="c:\path\to\jre-install-options.cfg")。因此,类似这样的事情(使用日志文件并假设配置文件位于 exe 的同一目录中):
jre-8-windows-i586.exe INSTALLCFG="%cd%\jre-install-options.cfg" /s /L C:\TMP\jre-install.log
似乎以下 jre-install-options.txt 可能适合您:
INSTALL_SILENT=Enable
REBOOT=Disable
STATIC=Enable
此处列出了配置文件选项:http://docs.oracle.com/javase/8/docs/technotes/guides/install/config.html
关于java - 通过命令行在 Windows 机器上静默安装 JDK 8 和 JRE 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28043588/