Java 使用自动安装JDK在windows 7上安装和配置Jenkins

Java 使用自动安装JDK在windows 7上安装和配置Jenkins,java,windows-7,jenkins,java-7,Java,Windows 7,Jenkins,Java 7,我正在经历。我已经使用Windows安装程序在Windows 7 64位上安装了Jenkins。我已经配置了一个构建和设置Jenkins,以便在第一个构建中自动安装JDK 7u3。构建开始时,我在控制台日志中看到: Started by user anonymous Building in workspace C:\Program Files (x86)\Jenkins\workspace\gameoflife-default Installing C:\Program Files (x86)\

我正在经历。我已经使用Windows安装程序在Windows 7 64位上安装了Jenkins。我已经配置了一个构建和设置Jenkins,以便在第一个构建中自动安装JDK 7u3。构建开始时,我在控制台日志中看到:

Started by user anonymous
Building in workspace C:\Program Files (x86)\Jenkins\workspace\gameoflife-default
Installing C:\Program Files (x86)\Jenkins\tools\JDK_7u3\jdk.exe 
[JDK_7u3] $ "C:\Program Files (x86)\Jenkins\tools\JDK_7u3\jdk.exe" /s /v /qn /L '\"C:\Program Files (x86)\Jenkins\tools\JDK_7u3\jdk.exe.install.log\"' REBOOT=ReallySuppress 'INSTALLDIR=\"C:\Program Files (x86)\Jenkins\tools\JDK_7u3\"'
它永远不会超越这一点

我试过: -确保exe未被阻止 -确保服务帐户具有管理员权限 -尝试安装其他JDK


有什么想法吗?

JDK7的JDK自动安装中似乎有一个错误:

如果尝试在命令行上运行该命令,将出现
msiexec
对话框,这意味着参数不正确。因为我也有这个问题,我去看看詹金斯到底通过了什么。它确实(在我们的案例中):

转义引号是旧式的
msiexec
安装的保留,在
/v
之后的所有内容都必须用单引号括起来,因为它们都传递给其他内容。单引号转义已删除,但实际语法也不再正确(安装程序已更改,选项也已更改)。问题是在
INSTALLDIR
变量中进行的引号转义。如果您删除它,它将进行某种程度的安装(您可能仍然有一个msiexec进程挂起)。例如:

c:\jenkins\tools\JDK\jdk-1.7.0_06\jdk.exe /s /L \"c:\jenkins\tools\JDK\jdk-1.7.0_06\jdk.exe.install.log\" REBOOT=ReallySuppress INSTALLDIR=\"c:\jenkins\tools\JDK\jdk-1.7.0_06\"
您可能可以更进一步,使用
/norestart
,而不是设置reboot属性,这取决于是否尊重该属性


我提出的所有这些建议仍然没有触及实际问题,即“如何正确地自动安装JDK7”。如果你有这个问题,我不知道你可以不手动完成安装,然后在主配置中关闭自动安装。对我来说,清理缓存文件似乎没有什么帮助。

如果您的主要兴趣是获得一个工作版本(而不是成为配置Jenkins的专家),那么请禁用自动安装并手动安装JDK。根据我的经验,JDK自动安装只是个麻烦。确保正确设置JAVA_HOME。这正是我最终要做的,但是如果自动安装程序能够正常工作就好了。我只是想知道我是不是在做傻事。现在我在git windows插件中发现了一些问题。。。但这是另一个话题。
c:\jenkins\tools\JDK\jdk-1.7.0_06\jdk.exe /s /L \"c:\jenkins\tools\JDK\jdk-1.7.0_06\jdk.exe.install.log\" REBOOT=ReallySuppress INSTALLDIR=\"c:\jenkins\tools\JDK\jdk-1.7.0_06\"