Это не то, что означает системная область.Системная область говорит Maven: «Эта зависимость является частью моей системы. Вам не нужно связывать ее, когда я доставляю артефакт, потому что он уже находится в системе. Вам не нужно загружать его при компиляции или выполнении тестов, потому чтоЯ даю вам путь к этому только здесь. "(Вы должны указать путь для зависимостей области системы.)
Стандартный способ сделать JAR доступным для Tomcat - это поместить их в WAR.Это произойдет, если вы установите область «compile» или «runtime».
Другой подход - поместить JAR-файлы в общий каталог Tomcat и установить их область «предоставлено».Если вы сделаете это, вы запускаете нестандартный дистрибутив Tomcat, и вам нужен процесс для управления этим (в противном случае у вас возникнут проблемы, когда люди не поймут, почему ваше приложение не будет работать на ванильном Tomcat).install).
Краткое напоминание об областях Maven:
compile = "Мне это нужно, когда я компилирую, когда я компилирую тесты, когда я запускаю тесты, и когда я выполняю проект, и вынужно связать его в результате поставки, потому что он еще не находится в среде выполнения ".
runtime =" Мой код будет компилироваться без этого, но он будет искать его во время выполнения, в том числе при выполнении тестов,и он не предоставляется в среде выполнения, поэтому не могли бы вы связать его в поставляемом продукте. "
условии =" Мой код нуждается в этом для компиляции, а также при запуске тестов и в производстве, поэтому он мне нуженв пути к классам для компиляции и тестов, но вам не нужно связывать его, потому что среда выполнения предоставляет его. "