Разница между зависимостями compile и provided в Maven заключается в том, как они ведут себя на разных этапах жизненного цикла проекта: 14
- Compile. 14 Зависимости с такой областью действия доступны для компиляции основного приложения и его тестов, а также на стадиях запуска основного приложения или тестов. 1 Это значение по умолчанию. 3
- Provided. 14 Артефакт используется на этапе компиляции и тестирования, а в сборку не включается. 1 Предполагается, что среда исполнения (JDK или WEB-контейнер) предоставят данный артефакт во время выполнения программы. 1 Например, к таким библиотекам относятся hibernate или jsf, которые необходимы на этапе разработки приложения. 1