由于临时文件创建,使用Ajc的Gradle构建失败

时间:2014-04-24 02:14:35

标签: java intellij-idea gradle

我的project与Gradle有一个有趣的问题。在运行" gradle build"从Intellij 13(windows或linux)里面,我收到以下错误信息:

10:05:48 PM: Executing external task 'build'...
:processResources UP-TO-DATE
:compileAspect FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileAspect'.
> Error creating temporary file

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 7.434 secs
Access is denied
10:05:56 PM: External task execution finished 'build'.

从这里开始,我在这里运行了一个完整的调试:Pastebin

这表明它在下面一行的AjcTask.java文件中失败了:

1993  tmpFile = File.createTempFile("argfile", "", userDir);

可能与GRADLE-1400相关,该版本适用于旧版本但尚未解决。在linux上,如果我cd到项目目录,我可以运行" gradle build"在第一次之后没有问题,那么我也可以从Intellij运行它而没有问题。

也许环境变得以某种方式获得核武器?

1 个答案:

答案 0 :(得分:0)

看起来像GRADLE-2532

在您的情况下,

user.dir属性默认为C:\Program Files (x86)\JetBrains\IntelliJ IDEA 13.1.1\jre\jre\bin,导致Access Denied错误。

在IDEA 13.1.2和以前版本中启用Use customizable gradle wrapper选项应该有所帮助。这会将user.dir设置为项目根目录。

在IDEA 13.1.3及更高版本中,有不同的解决方法,请查看this comment