首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Java悄悄安装到windows上的特定目录中

如何将Java悄悄安装到windows上的特定目录中
EN

Stack Overflow用户
提问于 2013-03-08 11:03:17
回答 8查看 35.9K关注 0票数 17

在我的开发机器上,我总是必须安装Java 6和Java 7,并且为了测试目的,我必须在32位和64位版本中安装每个JDK。因为Java更新的频率似乎越来越荒谬(现在每周两次?)每次更新都需要我重新安装4个JDK。因此,这变得非常烦人,因此,我想编写这整个过程。

我的问题是,默认情况下,每个JDK版本都会安装到包含更新号的目录路径中(默认值:"C:\Program“)。为了避免我不得不适应大量的构建脚本,我总是手动删除安装路径中的尾部"_“,并且总是安装在相同的"C:\Program \Java\jdk1.6.0”或"C:\Program \Java\jdk1.7.0“中,对64位版本重新安装,然后重新安装到C:\Program (X86)\Java\jdk1.6.0或32位版本的"C:\Program (X86)\jdk1.7.0”中。

在我了解到如何为JRE安装程序(即Java运行时)指定安装目录时:

代码语言:javascript
复制
<jre-installfile>.exe [/s] [INSTALLDIR=<drive>:\<JRE_install_path>] 
    [STATIC=1] [WEB_JAVA=0/1] [WEB_JAVA_SECURITY_LEVEL=VH/H/M/L]

我还没有找到类似的描述,说明如何为JDK安装程序指定安装目录。

有人知道是否以及如何为JDK安装程序指定安装路径,以便将静默的JDK安装定向到特定的安装目录中?

EN

回答 8

Stack Overflow用户

发布于 2015-08-26 11:19:20

我可以成功地安装JDK8UPDATE 60的x64和x86版本,包括具有以下命令的公共JRE:

这里,JDK1.8.60 (x86)的源代码将转到C:\Java\x86\jdk1.8.0_60和JRE到C:\Java\x86\jre1.8.0_60

代码语言:javascript
复制
jdk-8u60-windows-i586.exe /s ADDLOCAL="ToolsFeature,SourceFeature,PublicjreFeature" INSTALLDIR=C:\Java\x86\jdk1.8.0_60 /INSTALLDIRPUBJRE=C:\Java\x86\jre1.8.0_60

类似地,带有源代码的JDK1.8.60 (x64)将转到C:\Java\x64\jdk1.8.0_60和JRE到C:\Java\x64\jre1.8.0_60

代码语言:javascript
复制
jdk-8u60-windows-x64.exe /s ADDLOCAL="ToolsFeature,SourceFeature,PublicjreFeature" INSTALLDIR=C:\Java\x64\jdk1.8.0_60 /INSTALLDIRPUBJRE=C:\Java\x64\jre1.8.0_60

见甲骨文JRE安装程序选项

票数 13
EN

Stack Overflow用户

发布于 2013-04-26 18:23:05

我在搜索的时候发现了这篇文章..。它为INSTALLDIR指定一个参数。

http://makeitfaster.wordpress.com/2011/03/25/java-jdk-silent-install-on-windows/

代码语言:javascript
复制
jdk-7u2-windows-i586.exe /s ADDLOCAL="ToolsFeature,SourceFeature" INSTALLDIR="%CD%\jdk7u2"

不幸的是,我已经安装在我的开发计算机上了,所以我无法测试.

票数 3
EN

Stack Overflow用户

发布于 2014-07-17 07:56:13

避免在脚本中重写目录的一种方法是使用符号链接(NTFS上的连接)。首先,从SysInternals这里下载连接实用程序:http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx然后解压缩,复制到路径上的某个目录,然后运行一次以接受许可。

然后您可以很容易地创建符号链接:junction "C:\Program Files\Java\jdk1.6.0" "C:\Program Files\Java\jdk1.6.0_37" junction "C:\Program Files (x86)\Java\jdk1.6.0" "C:\Program Files (x86)\Java\jdk1.6.0_37"

删除某些符号链接:junction -d "C:\Program Files\Java\jdk1.6.0"

您也可以使用mklink ( http://technet.microsoft.com/en-us/library/cc753194.aspx )代替(以及删除的模型),但是我更喜欢连接的简单性和清晰性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15292464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档