Время сборки Intellij слишком велико. Градл не помогаетJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Время сборки Intellij слишком велико. Градл не помогает

Сообщение Anonymous »

Меня расстраивает то, что сборка приложения IDEA занимает много времени перед запуском моего приложения. Я использую DCEVM, чтобы получать больше удовольствия от изменения кода на лету, чем обычная горячая замена, но это не работает, если мне действительно нужно запускать приложения несколько раз.

IDEA должна иметь возможность инкрементной компиляции, но я этого не вижу. Я не вижу вариантов включить это. Запуск или запуск отладки приложения занимает почти полминуты. Должно ли это занять так много времени? Теоретически в IDEA уже созданы все файлы классов, за исключением исходных файлов, которые были только что отредактированы. IDEA должна быть в состоянии заполнить несколько пробелов и запустить приложение практически мгновенно. В чем задержка, почему он настаивает на том, чтобы заново скомпилировать каждый исходный файл?
ps. Я использую компилятор Eclipse в IDEA, так что он допускает невозможность компиляции некоторых исходных файлов. Мне приходится это делать, потому что это одно гигантское дерево Java-файлов, и я не могу контролировать каждый из них.

Потом я увидел, что, возможно, в Gradle есть инкрементальная компиляция. Поэтому я решил воссоздать свой проект, на этот раз с помощью Gradle. Мне очень сложно понять, как это работает, как интегрируется, какие задачи переносятся из IDEA в Gradle (если таковые имеются). Даже создание простого скелетного тестового приложения с помощью Gradle в IDEA очень разочаровывает. Повсюду встречаются всевозможные нечеткие детали, которые заставляют гадать. Учебники по Jetbrains практически бесполезны. Я не могу найти ни одного четкого объяснения, которое бы в двух словах объясняло, как это работает. Я вижу несколько демонстраций, в которых говорится: нажмите здесь, здесь и там, но результаты на моей стороне не такие, как я вижу.

Например , Gradle жалуется, что не может найти jar-файл junit. Хорошо, я захожу в настройки проекта и пытаюсь добавить jar-файл junit в путь к классам. В разделе «Библиотеки» я вижу запись «Gradle: junit:junit:4.11». Но есть и второй: «Юнит-4.11». Почему два? Могу ли я удалить один? Почему тот такой словесный, двоеточие это двоеточие это и т. д.
Поэтому я добавляю файлы jar junit, которые у меня есть, к обоим.
Но затем в окне «Проекты Gradle», где я вижу иерархическую разбивку файлов Настройка проекта gradle, проверка->тест. Предполагается, что это запустит тестовый класс, который мне удалось создать.

Код: Выделить всё

FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all dependencies for configuration ':testCompileClasspath'.
> Could not resolve junit:junit:4.11.
Required by:
xpert_client4:xpert_client4:1.0-SNAPSHOT
> No cached version of junit:junit:4.11 available for offline mode.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
"Не удалось разрешить junit:junit:4.11".

Gradle крайне разочаровывает. Если все, что мне нужно, это запустить main() в большом проекте, зачем мне сталкиваться с этими трудностями при использовании этой системы Gradle, которая предлагает вещи, которые мне не нужны? Почему это так запутанно, нечетко и запутанно?

То же самое касается и проекта Android. IDEA прекрасно может скомпилировать и запустить приложение для Android без Gradle. Просто избегайте использования Gradle при настройке, и это просто сработает.

Кроме того, есть все, что нужно сделать, чтобы ускорить предположительно медленную систему Gradle. Есть демоническая штука. Распараллелить, и видимо можно задать двумя способами (почему). Настройте по требованию. Глобализируйте. Минимизировать. minSdkVersion. Оффлайн (о нет, это не та штука Maven, которая снова и снова извлекает jar-файлы из Интернета). jЦентр. Профиль.... это продолжается и продолжается. Все эти обходные пути, хаки, корректировки, настройки.
Можно ли что-нибудь получить от постепенной модификации работающего проекта IDEA? Ускорится ли сборка и запуск, если я столкнусь со всеми этими проблемами? Могу ли я вообще и навсегда отказаться от Gradle (в надежде, что он каким-то образом не станет обязательным).

Я занимаюсь программированием с 80-х годов. Я использовал всевозможные системы. Я создаю свои собственные системы сборки. Я здесь не зеленый. Я также ненавижу RTFM, если эти FM не доходят до сути и плохо объясняют вещи - как будто те, кто это написал, сами этого не понимают - они знают, какие кнопки нажать, чтобы получить это собирается, и все.
Я считаю эту штуку одной из самых разочаровывающих вещей, которые я видел за долгое время. Предыдущая ужасная система сборки, которую я пробовал в прошлом и с тех пор избегал как чумы, — это Maven. Отсутствие ясного мышления в этих системах поразительно.

Итак, помимо этих разочарований, меня интересует следующий вопрос: стоит ли разбираться в Gradle и применять все обходные пути и настройки, чтобы я мог, пережив это горе, наслаждаться более быстрым временем сборки и запуска моего приложения?

Или мне было бы лучше избегать Gradle вообще, и вместо этого сделайте что-то вроде включения запуска моего приложения в цикл, чтобы каждый раз, когда я выхожу из приложения, оно повторно запускало main(). Затем я бы использовал DCEVM для написания кода на лету, пока это возможно.

Наконец, я забыл упомянуть. Включение автоматической сборки в IDEA работает очень плохо. Кажется, что сборка всегда включает в себя пересборку каждого отдельного файла снова и снова. И если установить автоматический режим сборки, все, что в конечном итоге будет сделано, — это снова и снова повторять это в фоновом режиме. Ничего не происходит асинхронно, когда я заканчиваю редактирование исходного файла и начинаю отладку приложения, где IDEA заранее выполнила любую сборку в фоновом режиме, потому что после этого она повторяет все это снова. каждое крошечное изменение кода. Кроме того, из-за этого процессоры постоянно загружаются почти до 100%.
IDEA — отличная IDE, но вся эта компиляция — сплошной кошмар, от начала до конца.

Подробнее здесь: https://stackoverflow.com/questions/404 ... ot-helping
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»