Benchmark Mode Cnt Score Error Units
MethodAccessBenchmark.directAccess avgt 10 0,835 ± 0,145 ns/op
MethodAccessBenchmark.lambdaMetafactory avgt 10 1,044 ± 0,303 ns/op
MethodAccessBenchmark.methodHandles avgt 10 4,975 ± 1,468 ns/op
MethodAccessBenchmark.reflection avgt 10 8,275 ± 0,437 ns/op
Шаблон для домашних заданий Академии Бэкенда 2024.
Цель данного репозитория – познакомить вас с процессом разработки приложений на Java с использованием наиболее распространенных практик, инструментов и библиотек.
Это типовой Java-проект, который собирается с помощью инструмента автоматической сборки проектов Apache Maven.
Проект состоит из следующих директорий и файлов:
- pom.xml – дескриптор сборки, используемый maven, или Project Object Model. В нем описаны зависимости проекта и шаги по его сборке
- src/ – директория, которая содержит исходный код приложения и его тесты:
- mvnw и mvnw.cmd – скрипты maven wrapper для Unix и Windows, которые позволяют запускать команды maven без локальной установки
- checkstyle.xml, checkstyle-suppression.xml, pmd.xml и spotbugs-excludes.xml – в проекте используются линтеры для контроля качества кода. Указанные файлы содержат правила для используемых линтеров
- .mvn/ – служебная директория maven, содержащая конфигурационные параметры сборщика
- lombok.config – конфигурационный файл Lombok, библиотеки помогающей избежать рутинного написания шаблонного кода
- .editorconfig – файл с описанием настроек форматирования кода
- .github/workflows/build.yml – файл с описанием шагов сборки проекта в среде Github
- .gitattributes, .gitignore – служебные файлы для git, с описанием того, как обрабатывать различные файлы, и какие из них игнорировать
Подробнее о том, как приступить к разработке, описано в разделах
курса 1.8 Настройка IDE, 1.9 Работа с Git и
1.10 Настройка SSH.
Для того чтобы собрать проект, и проверить, что все работает корректно, можно запустить из модального окна IDEA Run Anything команду:
mvn clean verifyАльтернативно можно в терминале из корня проекта выполнить следующие команды.
Для Unix (Linux, macOS, Cygwin, WSL):
./mvnw clean verifyДля Windows:
mvnw.cmd clean verifyДля окончания сборки потребуется подождать какое-то время, пока maven скачает все необходимые зависимости, скомпилирует проект и прогонит базовый набор тестов.
Если вы в процессе сборки получили ошибку:
Rule 0: org.apache.maven.enforcer.rules.version.RequireJavaVersion failed with message:
JDK version must be at least 22Значит, версия вашего JDK ниже 22.
Если же получили ошибку:
Rule 1: org.apache.maven.enforcer.rules.version.RequireMavenVersion failed with message:
Maven version should, at least, be 3.8.8Значит, у вас используется версия maven ниже 3.8.8. Такого не должно произойти,
если вы запускаете сборку из IDEA или через mvnw-скрипты.
Далее будут перечислены другие полезные команды maven.
Запуск только компиляции основных классов:
mvn compileЗапуск тестов:
mvn testЗапуск линтеров:
mvn checkstyle:check modernizer:modernizer spotbugs:check pmd:check pmd:cpd-checkВывод дерева зависимостей проекта (полезно при отладке транзитивных зависимостей):
mvn dependency:treeВывод вспомогательной информации о любом плагине (вместо compiler можно
подставить интересующий вас плагин):
mvn help:describe -Dplugin=compiler- Документация по maven: https://maven.apache.org/guides/index.html
- Поиск зависимостей и их версий: https://central.sonatype.com/search
- Документация по процессу автоматизированной сборки в среде github: https://docs.github.com/en/actions
- Документация по git: https://git-scm.com/doc
- Javadoc для Java 22: https://docs.oracle.com/en/java/javase/22/docs/api/index.html