我正在尝试将java捆绑为java产品的一部分,只需单击一下即可安装,并且存在一些问题:
我的安装有以下要求: 没有安静,不需要用户输入或操作请求双击安装文件(没有配置和安装后步骤) 必须设置java以便JAVA_HOME指向使用服务器jvm的Java SE安装
这是否可以在带有sun java安装程序的win32系统上执行此操作?我知道默认情况下jre不会使用服务器jvm。但即使安装jdk,安装的公共jre(并映射到JAVA_HOME)也不包含服务器jvm。在sun自己的README文件(Sun README)中,他们建议复制文件:
JRE \ BIN \服务器\ 在Microsoft Windows平台上,JDK包括两者 Java HotSpot(TM)服务器VM和Java HotSpot客户端VM。 但是,适用于Microsoft Windows的Java SE运行时环境 平台仅包括Java HotSpot客户端VM。那些希望 将Java HotSpot Server VM与Java SE Runtime一起使用 环境可能会将JDK的jre \ bin \ server文件夹复制到 Java SE运行时环境中的bin \ server目录。
但是这种解决方案很难在静默安装中优雅地自动化。必须有一个更好的方法来做到这一点,而无需重新打包整个java distrubution。有没有人遇到过同样的问题,想出更优雅的解决方案?
答案 0 :(得分:1)
在过去几年中,我像这样管理Java:我下载安装程序,将其安装在某处,将所有文件打包成ZIP,然后使用该ZIP文件在任何地方部署Java。安装程序会在注册表和%WinDir%等中留下很多你不需要的东西。这也允许我移动一些文件(如bin\server\jvm.dll
或安全相关设置)。
这样,我甚至可以将Java嵌入到应用程序目录中,与任何已安装的Java版本无关。
在开始申请之前,只需在一个小批量脚本中设置JAVA_HOME就可以了。您可以使用%~dp0
使其完全独立于位置(%~dp0
扩展到指向批处理文件的路径。)
答案 1 :(得分:1)
制作自己的安装程序。
我使用inno setup编译器,非常适合我的目的。 如果您需要注册表项,可以将它们导出,将它们包含在安装程序中,包含文件,并在此处进行一些更改,您就完成了。无提示安装程序,可根据您所需的确切规格配置。
它带有一个易于使用的脚本向导。
我提到了一个特定的,因为它是免费的。最终,制作自己的安装程序是解决方案。