Java server jvm 在windows 32位系统上的安装

标签 java jvm installation

我正在尝试将 java 捆绑为 java 产品的一部分,只需单击一下即可静默安装,但遇到了一些问题:

我的安装有以下要求: 没有沉默,不需要用户输入或操作,除了双击安装文件(没有配置和安装后步骤) 必须设置 java,以便 JAVA_HOME 指向带有服务器 jvm 的 Java SE 安装

这完全有可能在带有 sun java 安装程序的 win32 系统上执行此操作吗?我知道默认情况下 jre 不包含服务器 jvm。但是即使在安装 jdk 时,已安装(并映射到 JAVA_HOME)的公共(public) jre 也不包含服务器 jvm。在 sun 自己的自述文件 ( Sun README ) 中,他们建议复制文件:

jre\bin\server\ On Microsoft Windows platforms, the JDK includes both the Java HotSpot(TM) Server VM and Java HotSpot Client VM. However, the Java SE Runtime Environment for Microsoft Windows platforms includes only the Java HotSpot Client VM. Those wishing to use the Java HotSpot Server VM with the Java SE Runtime Environment may copy the JDK's jre\bin\server folder to a bin\server directory in the Java SE Runtime Environment.

但是这个解决方案很难在静默安装中优雅地自动化。必须有更好的方法来做到这一点,而无需重新打包整个 Java 发行版。有没有人遇到过同样的问题并提出了更优雅的解决方案?

最佳答案

在过去的几年里,我是这样管理 Java 的:我下载安装程序,将其安装在某个地方,将所有文件打包成一个 ZIP,然后使用该 ZIP 文件将 Java 部署到任何地方。安装程序会在注册表和 %WinDir% 等中留下很多您并不真正需要的东西。这也允许我移动一些文件(比如 bin\server\jvm.dll 或安全相关设置)。

这样,我什至可以将 Java 嵌入到应用程序目录中,独立于任何已安装的 Java 版本。

只需在启动应用程序之前在一个小的批处理脚本中设置 JAVA_HOME 就可以了。您可以使用 %~dp0 使其完全独立于位置(%~dp0 扩展为通向批处理文件的路径)。

关于Java server jvm 在windows 32位系统上的安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1858603/

相关文章:

java - 尝试从共享首选项中检索数据时我遗漏了什么

java - 在 Linux Box 上获取 JVM 时区

java - java内部在什么地方运行异常

.net - 良好的安装程序,可以按需下载先决条件

java - 方法调用转换

java - Swing 中 requestFocusInWindow() 和 grabFocus() 的区别

java - 如何使用注解映射Set集合的simplevalue类型

java - 在jconsole中激活jmxmp

ruby-on-rails - Windows 与 Linux 中的 Rails

c++ - Python 依赖,windows (CMake)