Здесь вы задаете несколько вопросов. Существует «как я тестирую на сервере» один, и есть «что такое путь для производства». И они могут быть совсем другими.
Я предположил, что файлы JAR в проекте используются WAR-файлом и упакованы в его каталог WEB-INF/lib. Если я ошибаюсь, это круто. Просто такая информация удобна для понимания.
Maven - это инструмент для сборки. Это не инструмент развертывания. То, что у вас есть в конце этого, является файлом WAR. Если вы запустили mvn install (или mvn deploy), у вас есть версия WAR файла SNAPSHOT. Это было бы полезно для быстрого, специального тестирования на других машинах. Но вы, скорее всего, будете использовать методы, предлагаемые для контейнера-хостинга, чтобы сделать их доступными. Примечание: Maven DEPLOY - это отличная вещь от DEPLOY файла войны до tomcat.
На мой взгляд, если вы вкладываете что-либо в производство или перед клиентом или перед группой тестирования, вы должны использовать Maven для выпуска продукта. То есть, используя плагин release (через выпуск: подготовить и освободить: цели плагина), чтобы создать выпуск вашего артефакта, не являющийся SNAPSHOT (в данном случае официальную версию WAR-файла). После того, как у вас есть этот файл WAR, вы можете перенести его на ваш производственный сервер любым способом, который проще всего (копировать, развертывать в tomcat наилучшим образом). Вы не упомянули, существуют ли требования к базе данных для этого веб-приложения, и это необходимо будет рассмотреть, прежде чем вы измените какое-либо производственное приложение.
Но, если у вас есть официальные версии, у вас есть теги исходного кода, и вы можете точно знать, какой код выполняется.
То, что я не думаю, что вы собираетесь получить, это возможность автоматически копировать WAR-файл на производственный сервер из среды разработки. Здесь будут драконы.
Спасибо за ваш ответ @Edh, некоторые из этих модулей работают как отдельная банка, а один из них - военный файл. Эти проекты имеют зависимости от других банок, таких как спящий режим, но когда я вижу целевой каталог, я не вижу банки, и я пытаюсь выполнить банку непосредственно в целевом каталоге, но он не будет запущен из-за зависимостей. Как загрузить мою программу на клиентский сервер и убедиться, что она будет запущена? Я новичок в maven – alvariux
Вы можете использовать Maven для создания файла tar или zip, который содержит все, что вам нужно для развертывания в производственной среде. Войны довольно легкие, поскольку они обычно упаковывают свой багаж. Так что захват войны - это все, что вам нужно. – EdH
Файлы JAR также должны иметь свои зависимости. Maven может это предоставить. Я бы использовал плагин сборки, чтобы упаковать ваши артефакты и те ваши артефакты. Затем вы можете взять этот единственный файл в целевую среду, распаковать и перемещать по своему усмотрению. У меня были tar-файлы, содержащие артефакты, а также скрипты, которые упрощали развертывание и т. Д., Когда они были в рабочей среде. Но это были все пользовательские сценарии, созданные специально для целевой среды.Maven не собирается ничего выводить из коробки – EdH