Jenkins下的Gradle和UNC路径问题

时间:2011-03-03 20:21:42

标签: cmd gradle unc jenkins

将%JENKINS_HOME%从本地目录移至UNC后出现此错误。知道如何解决这个问题吗?我们使用Windows Server 2008,似乎没有办法在Server 2008下对UNC进行硬链接。有没有人遇到过这个问题?

所有构建工具都存储在\\ UNCPath \ BuildTools

%JENKINS_HOME%= \\ UNCPath \ JenkinsHome

  

[工作空间] $ cmd.exe / C \\ UNCPath \ BuildTools \ gradle \ 1.0 \ bin \ gradle.bat clean jar cobertura test groovyDoc&&退出%% ERRORLEVEL %%   '\\ UNCPath \ JenkinsHome \ \工作项目\工作区'   CMD.EXE以上面的路径作为当前目录启动。   不支持UNC路径。默认为Windows目录。   java.lang.IllegalArgumentException:URI具有权限组件       在java.io.File。(File.java:368)       at org.gradle.api.internal.AbstractClassPathProvider $ ClassPathScanner.find(AbstractClassPathProvider.java:146)       at org.gradle.api.internal.AbstractClassPathProvider.findClassPath(AbstractClassPathProvider.java:80)       在org.gradle.api.internal.DefaultClassPathRegistry.getClassPathFiles(DefaultClassPathRegistry.java:44)       在org.gradle.api.internal.DefaultClassPathRegistry.getClassPathUrls(DefaultClassPathRegistry.java:35)       在org.gradle.launcher.ProcessBootstrap.runNoExit(ProcessBootstrap.java:38)       在org.gradle.launcher.ProcessBootstrap.run(ProcessBootstrap.java:28)       在org.gradle.launcher.GradleMain.main(GradleMain.java:24)   记录测试结果   发布Javadoc   跳过Cobertura覆盖率报告,因为构建不是不稳定或更好......   完成:失败   块引用

3 个答案:

答案 0 :(得分:2)

Gradle可能无法处理UNC路径,不确定那个路径。你可以做什么,因为你使用Win2008是使用sym链接

mklink /D c:\jenkins_home \\UNCPath\BuildTools

然后设置%JENKINS_HOME%= c:\ jenkins_home

答案 1 :(得分:1)

映射驱动器将无法正常工作。 %JENKINS_HOME%不喜欢映射的驱动器号。但是,我刚刚发现这个链接进行了注册表更改,并取消了对UNC的检查。

http://support.microsoft.com/kb/156276

现在我有一个URI问题:

  

java.lang.IllegalArgumentException:URI具有权限组件       在java.io.File。(File.java:368)       at org.gradle.api.internal.AbstractClassPathProvider $ ClassPathScanner.find(AbstractClassPathProvider.java:146)       at org.gradle.api.internal.AbstractClassPathProvider.findClassPath(AbstractClassPathProvider.java:80)       在org.gradle.api.internal.DefaultClassPathRegistry.getClassPathFiles(DefaultClassPathRegistry.java:44)       在org.gradle.api.internal.DefaultClassPathRegistry.getClassPathUrls(DefaultClassPathRegistry.java:35)       在org.gradle.launcher.ProcessBootstrap.runNoExit(ProcessBootstrap.java:38)       在org.gradle.launcher.ProcessBootstrap.run(ProcessBootstrap.java:28)       在org.gradle.launcher.GradleMain.main(GradleMain.java:24)

答案 2 :(得分:0)

为什么不映射驱动器号?

  

net use X:\ UNCPath \ BuildTools

     

X:\ script.bat

     

净使用X:/ d