Sobes.tech
Junior — Middle
65

Каким образом можно определить в Maven, на каком этапе сборки подключаемая библиотека будет использоваться?

Companies where asked
Северсталь-ИфокомСеверсталь-Ифоком

Answer from AI

sobes.tech AI

В Maven область использования подключаемой библиотеки определяется с помощью элемента <scope> в описании зависимости в файле pom.xml.

Основные значения <scope>:

  • compile (по умолчанию): библиотека доступна на всех этапах — компиляция, тестирование, выполнение.
  • provided: библиотека нужна только для компиляции и тестирования, но не включается в итоговый артефакт, предполагается, что она будет предоставлена средой выполнения (например, контейнером сервлета).
  • runtime: библиотека не нужна для компиляции, но нужна во время выполнения.
  • test: библиотека используется только для тестирования.
  • system: похожа на provided, но требует указания пути к библиотеке на локальной машине.

Пример:

<dependency>
    <groupId>org.example</groupId>
    <artifactId>example-lib</artifactId>
    <version>1.0.0</version>
    <scope>test</scope>
</dependency>

В этом примере библиотека будет использоваться только на этапе тестирования.