J’essaie d’utiliser la nouvelle méthode Java 7 Files.createSymbolicLink () dans Play! Framework, et j’ai eu l’exception suivante:
RuntimeException occured : java.nio.file.FileSystemException: c:\work\foo\bar: A required privilege is not held by the client.
Ceci est ma première rencontre avec le modèle de permission de Java, donc je comprends ce qui se passe, mais je ne sais pas encore comment le réparer (je voudrais donner plus de permissions aux contrôleurs).
Si quelqu’un peut répondre plus rapidement que je ne trouve la réponse, moi (et les futurs lecteurs) nous en serons reconnaissants.
Ce n’est pas un problème avec les permissions java, mais un problème avec les permissions du système d’exploitation. Voir FileSystemException .
Les sous-classes de FileSystemException sont: AccessDeniedException, AtomicMoveNotSupportedException, DirectoryNotEmptyException, FileAlreadyExistsException, FileSystemLoopException, NoSuchFileException, NotDirectoryException, NotLinkException.
De AccessDeniedException:
Exception vérifiée renvoyée lorsqu’une opération de système de fichiers est refusée, généralement en raison d’une autorisation de fichier ou d’un autre contrôle d’access. Cette exception n’est pas liée à AccessControlException ou SecurityException levée par les contrôleurs d’access ou les responsables de la sécurité lorsque l’access à un fichier est refusé.
Après avoir vu cette réponse , et en me rappelant que je suis sous Windows 7 avec UAC , je comprends bien qu’il s’agit d’un problème Windows.
En effet, lors de l’exécution:
runas /noprofile /user:Administrator cmd cd c:\myapp play run
tout fonctionne bien.