Я новичок в Maven, и я не нашел правильного ответа на следующую проблему.Где разместить сторонние библиотеки при использовании Maven с Tomcat?
Например, у меня есть библиотеки, которые зависят от моего проекта: log4j, j, servlet api, junit, struts и т. Д. Когда я использую только Tomcat, я могу положить эти банки в папку %CATALINA_HOME%\lib
и использовать их.
Но как приходит Maven
Я могу настроить pom.xml
для всех зависимостей и их областей.
Если я это сделаю - могу ли я удалить libs из папки %CATALINA_HOME%\lib
? Если смогу, то как Tomcat
знает, где найти эту стороннюю банку?
И хорошо ли это, если у вас есть tomcat-native libs (tomcat-util, tomcat-juli, jasper и т. Д.) В папке %CATALINA_HOME%\lib
и укажите другие библиотеки в pom.xml
?
Я принимаю ваш ответ, поскольку он имеет более подробное объяснение.спасибо – marknorkin
также вы бы пояснили: в этом случае мне нужно указать servlet-api в pom.xml? Если я этого не сделаю, в каких случаях это необходимо? – marknorkin
Да, вам нужно указать его в pom.xml, но с предоставленной областью. Это специальная область, которая говорит Maven: «Мне нужна эта зависимость для компиляции, но не упаковывайте ее в мою войну, потому что она будет предоставляться сервером, развертывающим мое приложение». Если он включен в вашу войну, у вас будет предупреждение при запуске Tomcat, в котором говорится, что эта банка не должна быть в ваших лихрирах. – Tunaki