Подтвердить что ты не робот

Maven: Какова цель "времени выполнения"?

Возможный дубликат:
Общие сведения о значениях времени выполнения во время компиляции

Я понимаю, что зависимость с областью "runtime" будет доступна во время выполнения, а не во время компиляции. Но я не понимаю, почему ты этого хочешь! Почему бы просто не использовать область "компиляции"?

docs действительно не помогают. Любая идея?

4b9b3361

Ответ 1

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

Установление зависимости от времени выполнения гарантирует, что не существует случайной зависимости от кода, а также задерживает зависимость от транзитивности. Так, например, если модуль A имеет зависимость от времени выполнения от библиотеки X, а модуль B зависит от модуля A, он не наследует зависимость от библиотеки X. Использование "предоставлено" или "компиляция" приведет к тому, что B будет зависеть от X.