Intellij idea очистить кэш
Я пытаюсь использовать Android Studio, и при первой загрузке на компиляцию уходит около 45 МИНУТ . Если я не закрываю приложение, ничего страшного - каждая последующая компиляция / запуск приложения займет около 45 секунд.
Я попытался проверить некоторые из своих кешей: .gradle/caches в моем домашнем каталоге есть папка, которая содержит 123 МБ.
В .gradle папке моего проекта также есть папка . одна из них taskArtifacts была размером 200 МБ. Я боюсь просто случайно убить их обоих. Какие части папок безопасно удалить?
Есть ли лучшее объяснение того, почему моя Android Studio всегда запускает gradle assemble задачу при первой загрузке приложения?
Должен ли я также очистить кэш intellij?
Позже я узнал, что 45 минут для компиляции, потому что я изменил настройки на Compiler -> Gradle нет Use in-process build . не имеет ничего общего с кэшем
@ david-t Не могли бы вы указать местонахождение этой опции? У меня есть версия 3.3.1, но я не могу найти ее в Предпочтения - Сборка, Выполнение, Развертывание
Как отметил @ Bradford20000 в комментариях, там может быть gradle.properties файл, а также глобальные скрипты Gradle $HOME/.gradle . В этом случае особое внимание должно быть уделено удалению содержимого этого каталога.
.gradle/caches Каталог содержит Gradle кэш сборки. Так что, если у вас есть ошибка в кеше сборки, вы можете удалить ее.
Стоит отметить, что если у вас есть файл gradle.properties в папке .gradle в вашем домашнем каталоге, вы не захотите удалять всю папку. Как правило, простого удаления .gradle / caches достаточно, чтобы Gradle перезагружал все зависимости.
с каждым обновлением до Android Studio сборка gradle становится все медленнее и медленнее. Почему при развертывании на устройстве прекращают работу приложения, а затем снова развертывают (не касаясь кода вообще!), Что Android Studio снова требуется 2 минуты для сборки и развертывания. Это чертовски круто.
В Android Studio для очистки системных кешей: в главном меню Android stdio выберите Файл | Invalidate Caches / Restart.and меню сборки> чистый проект
Gradle кеш находится в
- В Windows: %USER_HOME%\.gradle/caches/
- На Mac / Unix: ~/.gradle/caches/
Вы можете перейти к этим каталогам и вручную удалить их или запустить
в системе Unix. Выполнение этой команды также приведет к загрузке зависимостей.
Примечание: файл Android Studio | Invalidate Caches / Restart не очищает кэш сборки Android, поэтому вам придется очищать его отдельно.
На Mac или Linux:
Это не очистило кеш зависимостей maven. Я удалил библиотеку из репозитория maven и сделал недействительными кэши Android Studio, но проект все еще строится. Это означает, что кэш-память для зависимости maven не очищается.
Способ, который вы описали, будет очищать кэш только от основного проекта и его зависимостей от проекта, но зависимости библиотеки не затрагиваются. Вы описали, как очистить кэш AndroidStudio, но не кэш Gradle.
8 Answers 8
Depending on the version you are running. It is basically the same just go to
File -> Invalidate caches, then restart Intellij
or
File -> Invalidate caches / Restart
The main difference is that in older versions you had to manually restart as cache files are not removed until you restart. The newer versions will ask if you also want to restart.
As seen here on this official Jetbrains help page
You can also try delete caches manually in the system folder for your installed version. The location of this folder depends on your OS and version installed.
Linux/Unix
~/.cache/JetBrains/
Mac OS
~/Library/Caches/
I have tried it,but sometimes it doesnot work.The code and setting of the project is right because after sometimes it went right.
Even if that's what it does it pretty obvious so I don't understand why they cannot call it clean like in Eclipse Xcode and all the other IDEs.
FYI, at least by IntelliJ 2017.1 (preview), this menu item has changed to File > Invalidate Caches / Restart .
unfortunately, this will clear project history, which is sometimes undesirable. could we clear caches with history stay in place?
Maybe not THE answer, but it's definitely AN answer.
If nothing else is working for you, go the nuclear option: Close IDEA and delete the ". /.IntelliJIdea/system" directory using your local file system tools.
The .IntelliJIdea directory is usually found in your home directory. Your IDE configuration is in the ". /.IntelliJIdea/config" directory, so it should be fine.
Obviously, this is not the "IDEA" way to do it and would be completely unsupported by JetBrains. Also - I don't use Android Studio so I dunno if this will cause problems, but there you go.
It's worked for me before when I've had problems getting IDEA to start and nothing else works to get me going. Maybe back up your entire .IntelliJIdea directory if you have a morbid fear of losing all your work >.
IntelliJ IDEA caches a great number of files for all projects that you have ever worked with in this IDE version, therefore the system cache may become overloaded. Sometimes the caches will never be needed again, for example, if you work with frequent short-term projects.
When you invalidate the cache, IntelliJ IDEA removes the cache files for all projects ever run in the current version of the IDE. The files will be recreated the next time you open these projects. The IDE also rebuilds the projects if they are built with the native IntelliJ IDEA builder.
Note the following before you proceed:
The caches will not be deleted until you restart IntelliJ IDEA.
Opening and closing a project without invalidating the cache does not result in deleting any cached files.
Local History is not deleted when you invalidate the cache unless you explicitly enable this option in the Invalidate Caches dialog. However, mind that Local History has a retention period of 5 working days by default.
РЕДАКТИРОВАТЬ: cleanBuildCache больше не работает
плагин Android Gradle теперь использует функцию кэширования Gradle
Очистить кеш
Очистите каталог кеша, чтобы избежать попаданий из предыдущих сборок
смотрите здесь (включая правки).
ОБЗОРНАЯ ИНФОРМАЦИЯ:
Новейшее решение с использованием задачи Gradle
cleanBuildCache
доступно через плагин Android для Gradle, редакция 2.3.0 (февраль 2017 г.)
- Gradle 3.3 или выше.
- Инструменты сборки 25.0.0 или выше.
больше на:
Сборка кеша:
хранит определенные выходные данные, которые плагин Android генерирует при сборке проекта (например, распакованные AAR и предварительно удаленные зависимости). Ваши чистые сборки намного быстрее при использовании кэша, потому что система сборки может просто повторно использовать эти кэшированные файлы во время последующих сборок, вместо того, чтобы создавать их заново. Проекты, использующие плагин Android 2.3.0 и выше, по умолчанию используют кэш сборки. Чтобы узнать больше, прочитайте статью Улучшение скорости сборки с помощью Build Cache.
Примечание. Задача cleanBuildCache недоступна, если отключить кэш сборки.
использование:
Android Studio / IntelliJ
** gradle / gradlew - системные файлы, содержащие скрипты - пожалуйста, смотрите системную информацию о том, как выполнить скрипт
Будьте осторожны с демоном gradle, вы должны остановить его до очистки и перезапустить gradle.
Остановите первый демон:
Очистить кеш, используя:
Запустите снова ваш сборник
Если ваш демон Gradle запущен, ваши кэши Gradle будут использоваться. Следовательно, ваша ОС скорее всего предотвратит удаление.
Демон gradle также создает множество больших текстовых файлов для каждого журнала сборки. Они хранятся здесь:
«XX» - это используемая версия gradle, например «4.4», а «XXXX» - просто случайные числа, например «1234».
Общий размер может вырасти до нескольких сотен МБ всего за несколько месяцев . Нет возможности отключить ведение журнала, и файлы не удаляются автоматически, и их не нужно сохранять.
Но вы можете создать небольшую задачу для автоматического удаления и освободить много дискового пространства:
Добавьте это к вашему app/build.gradle :
Чтобы увидеть, какие файлы удаляются, вы можете увидеть выходные данные отладки в Android Studio -> Вид -> Инструмент Windows -> Построить. Затем нажмите кнопку «Переключить вид» в этом окне, чтобы показать вывод текста.
Обратите внимание, что Gradle Sync или любая Gradle Build вызовут удаление файла.
Лучшим способом было бы автоматически переместить файлы в корзину или, по крайней мере, сначала скопировать их в папку «Корзина». Но я не знаю, как это сделать.
Кажется, здесь размещена неверная информация. некоторые люди сообщают о том, как очистить кэш сборщика Android (с заданием cleanBuildCache ), но, похоже, не понимают, что указанный кэш не зависит от кеша сборки Gradle, AFAIK.
Насколько я понимаю, кэш Android предшествует (и вдохновлен) кешей Gradle, но я могу ошибаться. Будет ли Android-строитель обновлен, чтобы использовать кеш Gradle и удалить свой собственный, я не знаю.
РЕДАКТИРОВАТЬ: кэш Android Builder устарел и был удален. плагин Android Gradle теперь использует кеш сборки Gradle. для управления этим кешем вы должны теперь взаимодействовать с общей инфраструктурой кеша Gradle.
СОВЕТ: ищите онлайн-справку по кешу Gradle, не упоминая ключевое слово «android», чтобы получить справку для актуального кеша.
РЕДАКТИРОВАТЬ 2: из-за вопроса tir38 в комментарии ниже, я тестирую с помощью плагина Android Gradle v3.4.2 проекта. кэширование gradle включено org.gradle.caching=true в gradle.properties . я делаю пару clean build и во второй раз большинство задач показывают FROM-CACHE как их статус, показывая, что кеш работает.
Удивительно, но у меня есть cleanBuildCache простая задача и /.android/build-cache/3.4.2/ каталог, намекающий на наличие кеша Android Builder.
я исполняю cleanBuildCache и 3.4.2/ каталог исчез. затем я делаю другое clean build :
- ничего не изменилось: большинство задач отображается в FROM-CACHE виде своего состояния, а сборка завершена на скорости кэш-памяти.
- 3.4.2/ каталог заново.
- 3.4.2/ каталог пуст (за исключением 2 скрытые, файлы нулевой длины маркера).
выводы:
- кэширование всех обычных задач Android Builder выполняется Gradle.
- выполнение cleanBuildCache не очищает и никак не влияет на кэш сборки.
- там все еще есть кэш Android Builder. это может быть рудиментарный код, который команда разработчиков Android забыла удалить, или он может фактически кэшировать что-то странное, что по какой-либо причине не может или не может быть перенесено на использование кэша Gradle. (вариант «не может» быть очень улучшаемым, ИМХО.)
Затем я отключаю кеш Gradle, удаляя org.gradle.caching=true из него, gradle.properties и я пробую пару clean build :
- сборки медленные.
- все задачи показывают свой статус как выполненный и не кэшированный или не обновленный.
- 3.4.2/ каталог продолжает быть пустым.
больше выводов:
- в случае сбоя кэша Gradle отсутствует резервная копия кэша Android-компоновщика.
- кеш Android Builder, по крайней мере для общих задач, действительно был устранен, как я уже говорил ранее.
- соответствующий документ Android содержит устаревшую информацию. в частности, кеш не включен по умолчанию, как указано там, и кеш Gradle должен быть включен вручную.
РЕДАКТИРОВАТЬ 3: пользователь tir38 подтвердил, что кэш Android Builder устарел и был удален с этой находкой . tir38 также создал эту проблему . Спасибо!
Можете ли вы указать, где вы читали, что кэш Android Builder теперь устарел и что вместо него теперь используется кэш сборки Gradle?
Большое спасибо за ваши усердные исследования. Вы подтверждаете большую часть того, что я видел в тестировании тоже: 1. пустой 3.4.2/ каталог. 2. Наличие cleanBuildCache задачи. 3. Отключение кэша сборки Gradle и перестройка не показали никаких признаков того, что задачи Android ударяют о кеш.
Sometimes the IDE makes some error because of the cache. In Eclipse, we can use clean to solve the problem. How can I do this in IntelliJ?
Note for Maven users, the "Reload all Maven projects" button can help keep IntelliJ in sync with dependencies in pom.xml; this fixes more than just deleting the "target" folder.
Clear the system cache
From the main menu, select File | Invalidate Caches .
In the Invalidate Caches dialog, you can select additional actions that the IDE will perform while removing the cache files:
Clear file system cache and Local History : remove the virtual file system cache together with the information stored in Local History.
This action might be helpful for troubleshooting purposes when the usual cache invalidation is not enough to solve the problem.
Clear VCS Log caches and indexes : remove the cache and indexes of the VCS Log.
Enable this option if you are certain that your VCS Log indexes are broken, for example, if the Log search doesn't work correctly.
Mark downloaded shared indexes as excluded : clear the downloaded shared indexes and place them to the list of excluded files. It means that IntelliJ IDEA won't re-download the excluded shared indexes.
Ask before downloading new shared indexes : show a notification prompting you to download new shared indexes as they become available.
Enabling this option also updates your settings for shared project indexes in Settings/Preferences | Tools | Shared Indexes .
Click Invalidate and Restart .
If you click Just restart , cache files won't be deleted, and the selected optional actions won't be applied.
We recommend that you restart the IDE via Find Action : press Ctrl+Shift+A and type Restart IDE .
For details on where various user-specific files are stored, see Directories used by the IDE.
Иногда IDE делает ошибку из-за кеша. В Eclipse мы можем использовать clean для решения проблемы. Но как я могу это сделать в IntelliJ?
В зависимости от версии, которую вы используете. Это в основном то же самое, просто перейдите в
File -> Invalidate caches, затем перезапустите Intellij
или
File -> Invalidate caches / Restart
Основное отличие состоит в том, что в более старых версиях вам приходилось перезапускать вручную, так как файлы кеша не удаляются до перезапуска. Более новые версии спросят, хотите ли вы также перезапустить.
Как видно здесь, на этой официальной странице справки Jetbrains
Вы также можете попробовать удалить кеши вручную в system папке для установленной версии. Расположение этой папки зависит от вашей ОС и установленной версии.
Mac OS
~/Library/Caches/
Я пробовал, но иногда это не работает. Код и настройки проекта правильные, потому что потом иногда все шло правильно.
Даже если это то, что он делает, это довольно очевидно, поэтому я не понимаю, почему они не могут назвать это чистым, как в Eclipse Xcode и во всех других IDE.
FYI, по крайней мере, в IntelliJ 2017.1 (предварительная версия) этот пункт меню был изменен на File > Invalidate Caches / Restart .
к сожалению, это очистит историю проекта, что иногда бывает нежелательно. можем ли мы очистить кеши с сохранением истории?
Может быть , не ответ, но это определенно ответ.
Если у вас ничего не работает, выберите ядерный вариант: закройте IDEA и удалите каталог «. /. IntelliJIdea / system» с помощью инструментов локальной файловой системы.
Каталог .IntelliJIdea обычно находится в вашем домашнем каталоге. Ваша конфигурация IDE находится в каталоге ". /. IntelliJIdea / config", так что все должно быть в порядке.
Очевидно, что это не «IDEA» способ сделать это, и он полностью не поддерживается JetBrains. Также - я не использую Android Studio, поэтому я не знаю, вызовет ли это проблемы, но готово.
У меня это работало раньше, когда у меня были проблемы с запуском IDEA, и ничто другое не помогло мне начать работу. Возможно, сделайте резервную копию всего каталога .IntelliJIdea, если вы боитесь потерять всю свою работу>.
Я получаю обычные выделенные ошибки. В каждом объявлении:
Не удается разрешить символ SomeEntityBean / Bean
и по каждому методу:
Не удается разрешить метод SomeFunction ()
IntelliJ иногда запутывается сам по себе, даже без внешних изменений, описанных Коргеном (хотя это хороший способ постоянно воспроизводить его).
Щелкните Файл -> Синхронизировать , и IntelliJ должен убедиться, что все снова в порядке.
Если это не сработает, кеши IntelliJ могут быть повреждены (раньше это происходило намного чаще, чем сейчас); в этом случае регенерируйте их
Щелкнув File -> Invalidate Caches и перезапустив IDE
(хотя загрузка проекта займет некоторое время, пока кеши воссоздаются).
Я испытал это, когда обновил свой JDK вручную и удалил предыдущий JDK
- В редакторе IntelliJ щелкните ключевое слово красного цвета ( Integer например) и нажмите ALT + ENTER (или щелкните значок лампочки)
- выберите Setup JDK из меню намерений
- В моем случае путь JDK был неверным ( /opt/jdk1.7.0_51 вместо него был указан /opt/jdk1.7.0_65 )
И все должно вернуться к жизни :)
IntelliJ иногда путается после импорта проектов maven и последующего изменения poms извне или создания источников за пределами IntelliJ.
Возможно, вы захотите попробовать реимпорт maven-> force из intellij в корне проекта.
как ни странно, это фактически вызвало у меня "красное состояние предупреждения", которое впоследствии очистилось от недействительных кешей.
Или вы также можете использовать Ctrl + Shift + A, ввести «Reimport» и выбрать: «Reimport» или «Reimport All Maven Projects» (если есть сомнения, повторно импортировать все).
В моем случае зависимости геттера и сеттера передавались через плагин lombok (использование java с Spring). И в новой установке intellij idea я не устанавливал плагин lombok. Установка плагина lombok исправила это для меня.
Это то, что вызывало у меня проблему. Геттеры и сеттеры, созданные с помощью аннотации, не были поняты IntelliJ. Спасибо за исправление!
У меня была такая же проблема после изменения JDK с 1.6 на 1.7 в моем pom.xml и установки Maven 3 path + JDK project settings на 1.7.
Для меня это было => Файл -> Недействительные кеши и перезапуск
PS: проблема возникла снова, поэтому я просто повторно импортировал весь проект после удаления папки .idea, и теперь он работает нормально, как обычно :)
Я перебирал все низко висящие плоды, пытаясь снова заставить подсветку работать, и с вашим комментарием я понял, что, возможно, OSX взорвала мой 1.6 JDK в обновлении . это так. И он переместил Java из / System / Library в / Library. Спасибо за публикацию.
Убедитесь, что у вас есть правильный параметр JVM SDK в свойствах IntelliJ. Если invalidate-cache-and-restart недостаточно, убедитесь, что вы используете правильный JVM SDK, например Java 1.7.
Посмотрите: Настройки -> Настройки IDE -> Scala -> JVM SDK
Или щелкните правой кнопкой мыши свой проект -> Открыть настройки модуля -> Настройки проекта -> Проект -> Project SDK -> (Установите Java 1.7)
Откройте Настройки модуля -> Настройки платформы -> SDK -> (Убедитесь, что есть Java 1.7, иначе вам нужно будет добавить ее)
Если вы внесли изменения, то, вероятно, лучше повторно запустить Invalidate Cache & Restart.
Если вы импортируете проекты в IntelliJ, и ни одно из вышеперечисленных решений у вас не работает, попробуйте. Это то, что у меня работало, когда все остальное терпело неудачу.
Перейдите в папку своего проекта и переименуйте / удалите папку .idea, в которой есть настройки идеи для вашего проекта. Это было бы создано из вашей старой версии IntelliJ. После того, как вы переименовали / удалили папку .idea , импортируйте свой проект в IntelliJ. Теперь вы не должны видеть никаких ошибок для своих классов Java. Надеюсь, это помогло.
Если вы все еще получаете эту ошибку, даже после того, как вы попробовали все другие предложения по этому вопросу, вы проверили все свои настройки JDK, Maven, недействительный кеш, синхронизировали свое рабочее пространство и перезапустили, но все еще не работает для вы, затем перейдите в каталог вашего проекта и удалите всю .idea папку. Перезагрузите ваш IntelliJ; все файлы .idea будут созданы заново, что отражает текущую ситуацию.
По крайней мере, у меня это сработало.
Я тоже все перепробовал, и ничего не получилось. Наконец, я сделал резервную копию папки .idea -> удалил ее -> заново открыл проект -> закрыл -> вернул .idea -> снова открыл. Я думаю, что некоторые кешированные файлы раньше не удалялись.
У меня есть IntelliJ IDEA 12.x на Mac, я использую Maven 3, и мой код выделяется красным цветом, хотя сборка Maven в порядке. Ничего из вышеперечисленного (переиндексация, принудительный импорт и т. Д.) У меня не сработало. Пришлось сделать следующее:
Мне нужно проверить параметр импорта Maven3, и это решает проблему.
Я переключился на, Maven 2 а затем вернулся к Maven 3 . Эти шаги, по-видимому, решили проблему для меня.
Еще одна работа! Одно из решений, предлагавших щелкнуть Alt Enter , не имело для меня Setup JDK, но Add . to classpath работало.
У меня такая же проблема.
В моем случае проблема была с maven home directory и user settings file в настройках Intellij в Maven. Я установил Maven не в каталог по умолчанию, и я также изменил расположение settings.xml файла. Это также следует изменить в настройках IntelliJ.
Надеюсь, это тоже поможет.
Я пытался воспользоваться всеми приведенными выше советами, но, к сожалению, мне никто не помог. Итак, наконец, я решил удалить свое рабочее пространство intelij и создать новое - это помогло :) Но раньше я также занимался очисткой кеша, повторным импортом проектов maven, очисткой проектов и их перестройкой.
У меня была та же проблема, и после того, как я попробовал все вышеперечисленные предложения, оказалось, что моя установка IntelliJ не подняла мою системную переменную JAVA_HOME, и для нее не было установлено SDK / JDK.
Проблема заключалась в том, что файл, который я пытался импортировать, был настолько большим, что IntelliJ не запускал на нем никаких CodeInsights.
Установка для idea.max.intellisense.filesize параметра более высокого значения в соответствии с инструкциями к этому ответу решила мою проблему.
У меня была та же проблема, что я использовал JDK 1.9 с IntelliJ 14, я решил переустановить Java с последней версией JDK 1.8 (1.8.0_161 в этом случае)
Я также удалил версию 1.9 из
HKEY_CURRENT_USER \ Software \ JavaSoft \ JRE \ Security Baseline
У меня была такая же проблема, что исправило для меня:
Перейти к File>Setting>Maven , я установил домашний каталог Maven, файл настроек и локальное репо.
Перейдите в Maven Projects и нажмите Reimport All Maven Projects
У меня была эта проблема при новой установке IDEA. Я думал, что он принес свой собственный JDK или сможет найти тот, который уже находится на машине, но, по-видимому, нет (сейчас не уверен, что делает флажок в диалоговом окне установки). Когда я щелкнул лампочку и нажал кнопку «Установить JDK», а затем щелкнул «Настроить», выяснилось, что он пытается получить JDK из
C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.1\jre64
Я просмотрел несколько папок в дереве JetBrains, но, по крайней мере, диалог был достаточно умен, чтобы не позволить мне применить какие-либо (включая оригинал), говоря, что они не являются допустимыми местоположениями для JDK. Итак, я просмотрел дерево Java и попробовал это, и оно приняло это:
После того, как я утвердил конфигурацию, похоже, что она не сработала; поэтому я попытался аннулировать кеш IDEA и перезапустить его (как описано в других ответах), и он сказал мне, что у меня запущены фоновые задачи. Поэтому я отменил аннулирование, и пока я это делал, любая перекомпиляция или обновление базы данных, которые он делал, были завершены, и весь красный цвет в окне редактирования исчез. Таким образом, настройка конфигурации JDK занимает несколько секунд (как минимум).
Читайте также: