【问题标题】:Writing to a file via Files write gives a AccessDeniedException exception通过 Files write 写入文件会产生 AccessDeniedException 异常
【发布时间】:2014-12-14 01:11:20
【问题描述】:

我正在创建一个maven插件,我需要在项目目录中写一个新文件。

由于某种原因,当我尝试创建新文件时,我得到了 AccessDeniedException。

堆栈跟踪:

[ERROR] Failed to execute goal org.ofx:ofx-maven-plugin:1.0-SNAPSHOT:generateScreensEnum (default) on project preloader: Execution default of goal org.ofx:ofx-maven-plugin:1.0-SNAPSHO
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException

c:\devl\work\preloader>

这是一个不存在的文件,所以它不应该是一个锁定的资源案例。 我还尝试写入不同的文件夹(不是项目文件夹),以防万一看看它是否解决了它,它没有。

我的代码:

Files.write(enumLocation, lines, Charset.defaultCharset(), StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING);

有什么想法吗?

【问题讨论】:

  • 显示您编写的代码会有所帮助
  • 仍然没有足够的细节。向我们展示所有代码,包括构建要写入的文件路径的代码(并告诉我们该代码应该做什么以及它实际做什么)。
  • 就像说的那样,要写入的文件的路径是什么都没有关系,我尝试了“c:\\temp”,我得到了同样的错误,我没有什么要详细说明的了,我只是想将文件保存到磁盘上的任何位置。
  • @DavidLimkys 第一个[ERROR] 行之前是什么?你接受了 Maven 的提议吗? mvn ... -e -X

标签: maven java-8 maven-plugin fileapi


【解决方案1】:

发现问题,如果文件不存在需要添加StandardOpenOption.WRITE,选项。

Files.write(enumLocation, lines, Charset.defaultCharset(), StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING);

【讨论】:

    猜你喜欢
    • 2014-03-17
    • 2011-02-16
    • 2013-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    • 2017-07-11
    相关资源
    最近更新 更多