Project Builders

Проработать

  1. Сборка Java-проекта с использованием Maven
  2. Автоматизированные сборки в Java
  3. Maven — автоматизация сборки проекта

Сборщик проектов

Сборщик проектов - программа для автоматизации широкого спектра задач применительно к ПО, применяемому разработчиками в их повседневной деятельности.

Основные разделы

Включает действия:

Автоматизация сборки - этап написания скриптов или автоматизация широкого спектра задач применительно к ПО, применяемому разработчиками в их повседневной деятельности.

  1. Компиляция исходного кода в бинарный код
  2. Сборка бинарного кода
  3. Выполнение тестов
  4. Установка и запуск программы на производственной платформе
  5. Написание сопроводительной документации или описание изменений новой версии

Сборка(assembly)

Сборка(assembly) - двоичный файл, содержащий исполняемый код программы или другой, подготовленный для использования информационный продукт.

Dependency Hell

Dependency Hell - это термин, описывающий проблемы, возникающие при управлении зависимостями в проектах, использующих библиотеки или фреймворки.

Проблемы:

  1. Конфликты версий: В большом проекте может быть несколько библиотек, каждая из которых использует свою версию одной и той же зависимости. Это приводит к конфликтам, потому что приложение не может использовать две несовместимые версии одной библиотеки одновременно. Иногда приложение не может работать с новой версией библиотеки, или наоборот, старые библиотеки не поддерживают более новые версии зависимостей.
  2. "JAR hell" (конфликты JAR файлов): Когда проект использует множество JAR-файлов, которые могут содержать одинаковые классы или пакеты. Если разные версии библиотек с одинаковыми классами включены в проект, может возникнуть путаница, и приложение будет использовать неправильную версию, что приведет к ошибкам во время выполнения.
  3. Трудности с разрешением зависимостей: Даже при использовании инструментов для управления зависимостями, таких как Maven или Gradle, может возникнуть ситуация, когда система не может правильно разрешить зависимости между библиотеками, например, если зависимости имеют циклические зависимости или несовместимы друг с другом.
  4. Неявные зависимости: В некоторых случаях зависимость может быть неявно включена в проект, что может привести к ошибкам, если она не была явно указана в файле конфигурации (например, в pom.xml для Maven или build.gradle для Gradle).
  5. Завершение поддержки библиотек: Библиотеки могут перестать обновляться, и у вас может быть устаревшая версия, которая не поддерживает новые фичи или исправления безопасности.

Как бороться: