Путь к классу для системы областей действия по сравнению с предоставленной - PullRequest
0 голосов
/ 02 апреля 2019

system и provided scope - оба они похожи, но я хотел знать:

1) Значит ли system scope, что зависимость будет включена только в путь к классам времени выполнения?

2) Как classpath отличается между этими двумя? Определен ли systempath определен путь к классу для зависимости области видимости system?

Поскольку это 2 коротких запроса, тесно связанных между собой, следовательно, не нужно публиковать 2 вопроса для них.

1 Ответ

1 голос
/ 02 апреля 2019

system означает, что элемент будет дословно добавлен в classpath (т.е. с абсолютным путем) и что кто-то (администратор, менеджер пакетов) скопирует JAR-файл туда, куда указывает systempath. Другие зависимости ищутся в локальном репозитории Maven. Кроме того, это похоже на provided.

Этот тип зависимости не должен использоваться. Много лет назад это был простой способ добавить JAR-файлы в путь к классам, не устанавливая их в локальное хранилище Maven, используя mvn file:install.

provided означает, что оно будет каким-то образом находиться на пути к классам при запуске приложения. Примером является веб-контейнер, такой как Tomcat, который предоставляет множество классов поддержки HTTP, таких как Servlet. Эти классы чувствительны к безопасности и должны соответствовать тому, с чем был построен контейнер. Поэтому вы должны сказать Maven: «Пожалуйста, поместите его в classpath для тестов, но не в WAR, хорошо?».

Смотри также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...