Сборка Gradle с Ajc завершается неудачно из-за создания временного файла

1

У моего проекта интересная проблема с Gradle. При запуске "построения града" из 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 к директории проекта, после первого запуска я могу запустить "сборку градиента" без проблем, после чего я также могу запустить ее из Intellij без проблем.

Может быть, окружающая среда начинает получать ядерное оружие?

  • 0
    Есть ли у вас доступ на write во временный каталог, где создаются такие файлы?
  • 0
    @ Опал У меня должен быть доступ на запись, но куда он пытается писать? Если я запускаю его из CLI один раз после того, как у меня открылся Intellij, то он работает в IDE.
Теги:
gradle
intellij-idea

1 ответ

0
Лучший ответ

Похоже, GRADLE-2532.

user.dir умолчанию свойство user.dir C:\Program Files (x86)\JetBrains\IntelliJ IDEA 13.1.1\jre\jre\bin в вашем случае, что вызывает ошибку Access Denied.

В IDEA 13.1.2 и предыдущих версиях, позволяющих использовать настраиваемый параметр оболочки градиента. Это установит user.dir в корневой каталог проекта.

В IDEA 13.1.3 и более поздних версиях существуют различные обходные пути, проверьте этот комментарий.

  • 0
    Это глупо. Я полагаю, что такая же проблема произойдет и в Linux. Хм ... есть идеи, почему это работает после того, как вы запустите его сначала из CLI? Это как-то user.dir ?
  • 0
    Не знаю, почему это работает от CLI. Возможно, этот шаг вообще не выполняется, поскольку необходимые файлы уже созданы.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню