Netbeans 12.1 развертывает пакет WAR в папке проекта вместо папки Tomcat webapps

#java #tomcat #netbeans #deployment #war

#java #tomcat #netbeans #развертывание #Война

Вопрос:

У меня есть веб-проект, который я разрабатываю в NetBeans 12.1, и я использую Tomcat 9.0.38 в качестве веб-сервера.

Когда я нажимаю кнопку сборки или кнопку запуска, Netbeans компилирует и создает пакет WAR, но вместо того, чтобы развертывать его в папке webapps Tomcat {CATALINA_HOME}/webapps/ , он развертывает файл WAR и извлекает его в папке проекта NetBeans MyProject/target/

После всего этого Netbeans создает конфигурационный файл в папке конфигурации tomcat {CATALINA_HOME}/conf/Catalina/localhost/ под названием MyProject.xml он содержит путь к извлеченному war-пакету в папке проекта, и веб-приложение работает нормально, но я не хочу такого способа развертывания.

Почему это происходит?

Я хочу выполнить развертывание непосредственно из NetBeans в папку Tomcat webapps. У меня неправильная конфигурация?

Комментарии:

1. Нет, у вас нет ничего явно неправильного в вашей конфигурации. То, что вы описываете, является стандартным поведением NetBeans: «развертывание на месте». Я бы порассуждал, если бы попытался описать, почему это процесс по умолчанию, но я ожидаю, что он имеет преимущества перед развертыванием непосредственно в /webapps, пока вы разрабатываете, отлаживаете и используете NetBeans для запуска / остановки Tomcat. Это, безусловно, сохраняет большее разделение между деятельностью по разработке и развертыванию. Формальные развертывания обычно управляются вне среды IDE процессами сборки CI и / или системами управления исходным кодом.

2. спасибо Вам за информацию. Я предполагаю, что я должен работать таким образом во всем процессе разработки и выполнять ручное развертывание для окончательного развертывания, верно?

3. Вероятно, это зависит от того, почему вы хотите, чтобы ваша ВОЙНА находилась в папке /webapps. Вероятно, вы можете настроить процесс сборки, который вы используете в NetBeans, чтобы гарантировать, что war добавляется непосредственно в папку /webapps, хотя я не уверен, как вы это сделаете. В противном случае, да — можно использовать сценарий развертывания (который может быть таким же простым, как файловая копия WAR туда, куда вы хотите, например, в другой экземпляр Tomcat для тестирования).