Jenkins 构建中的 java.nio.file.AccessDeniedException

标签 java macos svn jenkins access-denied

我正在 MacOSX 服务器上设置一个 Jenkins 系统,以便在 svn checkin 后自动构建。但是当构建开始时,我在控制台输出中得到了这些 java 错误。有没有人有 Jenkins 的经验和这些错误?

Gestartet durch Benutzer anonymous
[EnvInject] - Loading node environment variables.
Baue in Workspace /Users/Shared/Jenkins/Home/jobs/myProject/workspace
Cleaning local Directory .
java.nio.file.AccessDeniedException: /Users/Shared/Jenkins/Home/jobs/my Project/workspace/./.svn/pristine/04/040d4cd4de48d844246c38e096a78718879bfafb.svn-base
	at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
	at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244)
	at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
	at java.nio.file.Files.delete(Files.java:1126)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at hudson.Util.deleteFile(Util.java:255)
	at hudson.Util.deleteRecursive(Util.java:318)
	at hudson.Util.deleteContentsRecursive(Util.java:220)
	at hudson.Util.deleteRecursive(Util.java:309)
	at hudson.Util.deleteContentsRecursive(Util.java:220)
	at hudson.Util.deleteRecursive(Util.java:309)
	at hudson.Util.deleteContentsRecursive(Util.java:220)
	at hudson.Util.deleteRecursive(Util.java:309)
	at hudson.Util.deleteContentsRecursive(Util.java:220)
	at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:81)
	at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:162)
	at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:988)
	at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:969)
	at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:945)
	at hudson.FilePath.act(FilePath.java:990)
	at hudson.FilePath.act(FilePath.java:968)
	at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:894)
	at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:830)
	at hudson.scm.SCM.checkout(SCM.java:485)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1276)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:607)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
	at hudson.model.Run.execute(Run.java:1738)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:98)
	at hudson.model.Executor.run(Executor.java:410)
Sending e-mails to: m...
Finished: FAILURE

最佳答案

出现此问题是因为您没有在 Jenkins 作业目录(在您的情况下为 /Users/Shared/Jenkins/Home/jobs)上执行作业的权限,或者您没有对 jenkins 目录 /var/lib/jenkins/ 有权限。

当我试图将工作目录从一个服务器复制到另一个服务器时,我遇到了同样的问题。

要解决这个问题,我们需要将 jobs 的所有者更改为 jenkins 用户:

sudo chown -R jenkins:jenkins jobs

如果这没有解决,问题可能出在您的 var/lib/jenkins 目录的许可下:

sudo chown -R jenkins:jenkins /var/lib/jenkins/

这将解决您的问题。

附言。也许您需要重新启动 Jenkins 应用程序

关于Jenkins 构建中的 java.nio.file.AccessDeniedException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35011699/

相关文章:

java - 为什么 JDBC 给出错误 "undefined function SOUNDEX in expression"

macos - 我如何在 OSX 的 bash case 语句中失败?

svn - 与 Subclipse 合并时出现树冲突

git - 哪里有适合 SVN(Subversion) 用户的 Git 教程?

java - Java中如何调用方法

java - Scala 需要哪些 jar?

javascript - Safari 扩展在 Safari 浏览器版本 5、mac OS 雪豹中作为文件打开

svn - 将主干更改合并到分支中,然后将分支更改放回到主干中

java - 使用 XSLT 删除 PrettyPrint

macos - 用于在文件中设置屏幕分辨率值的 Shell 脚本