Web-система для адаптивной генерации тестов на основе фактов лекционного контента с функцией оценивания
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
0.) [16].
Вся структура проекта описывается в файле pom. xml, который должен находиться в корневой папке проекта. Ключевым понятием Maven является артефакт - это, по сути, любая библиотека, хранящаяся в репозитории. Это может быть какая-то зависимость или плагин. Как правило, название артефакта состоит из названия группы, собственного названия и версии.
Зависимости - это те библиотеки, которые непосредственно используются в проекте для компиляции кода или его тестирования [17].
Плагины же используются самим Mavenом при сборке проекта или для каких-то других целей.
Так же существует такое понятие как архетип. Архетип - это некая стандартная компоновка файлов и каталогов в проектах различного рода (веб, swing-проекты и прочие). Другими словами, Maven знает, как обычно строятся проекты и в соответствии с архетипом создает структуру каталогов [17].
Жизненный цикл проекта - это список поименованных фаз, определяющий порядок действий при его построении. Maven использует по умолчанию следующий жизненный цикл [16]:
1.Создание темплейта и обработка ресурсов (archetype): На этой фазе разрешаются и, при необходимости, скачиваются из интернета зависимости.
2.Компиляция (compile)
.Обработка тестовых ресурсов. (Например - скачивается из интернета JUnit-пакет).
.Компиляция тестов. (Тестирующие классы не передаются конечным пользователям.)
.Тестирование (test)
.Упаковка (package). Обычно речь идет о создании JAR - или WAR-файла.
.Инсталляция проекта в локальномMaven-репозитории (install). Теперь он доступен как модуль для других локальных проектов.
.Инсталляция в удаленномMaven-репозитории (deploy). Теперь стабильная версия проекта доступна широкому кругу разработчиков.
К основным преимуществам Mavenможно отнести [18]:
Независимость от OS. Сборка проекта происходит в любой операционной системе. Файл проекта один и тот же.
Управление зависимостями. Редко какие проекты пишутся без использования сторонних библиотек (зависимостей). Эти сторонние библиотеки зачастую тоже в свою очередь используют библиотеки разных версий. Мавен позволяет управлять такими сложными зависимостями, что позволяет разрешать конфликты версий и в случае необходимости легко переходить на новые версии библиотек.
Возможна сборка из командной строки. Такое часто необходимо для автоматической сборки проекта на сервере.
Хорошая интеграция со средами разработки. Основные среды разработки на java легко открывают проекты, которые собираются c помощью maven. При этом зачастую проект настраивать не нужно - он сразу готов к дальнейшей разработке.
Как следствие - если с проектом работают в разных средах разработки, то maven удобный способ хранения настроек. Настроечный файл среды разработки и для сборки один и тот же - меньше дублирования данных и соответственно ошибок.
Декларативное описание проекта.
Система управления версиями Git.
. [19]. Git, как и GNU/Linux, является свободным программным обеспечением, при этом стороннее использование подчиняется лицензии GNU GPL версии 2.
Системы управления версиями (VersionControlSystems) - это программное обеспечение, призванное автоматизировать работу с историей файла (или группы файлов), обеспечить мониторинг изменений, синхронизацию данных и организовать защищенное хранилище проекта [20].
Gitпозволяет вести работу как с локальным, так и с удаленным репозиторием, при этом разработчик может создавать в своем