如何使用java.nio.Files创建软符号链接

Fer*_*ado 5 java windows groovy nio

我正在使用如下命令在Windows上创建符号链接:

cmd /c mklink /J "${linkName.canonicalPath}" "${targetFolder.canonicalPath}"
Run Code Online (Sandbox Code Playgroud)

从Groovy并使用Runtime.getRuntime().exec()方法

它工作正常,但我想使用java.nio.Files.createSymbolicLink()方法做同样的事情.但我总是得到相同的错误信息:

java.nio.file.FileSystemException: A required privilege is not held by the client.
Run Code Online (Sandbox Code Playgroud)

mklink/J命令适用于当前用户,我想避免提升权限

min*_*ins 11

使用Windows(W7),您可以使用安全策略将用户添加到可以创建符号链接(不禁用UAC)的列表中.

  • secpol.msc
  • Security Settings|Local Policies|User Rights Assignment|Create symbolic links
  • 添加您的用户名.
  • 重启你的会话.

  • *关闭UAC的Win10* - 我必须设置`本地策略>安全选项>用户帐户控制:以管理员批准模式运行所有管理员`='禁用' - 否则 - 同样`FileSystemException:所需的权限不是由client` (3认同)