2013-04-04 5 views
1

У меня есть проект с Maven, это Мультиконтроллер проектПравильно Развертывание Maven проекта

Mainproject 
    project1 - jar 
    project2 - jar 
    project3 - web 

Теперь, когда я закончил проект, я хочу, чтобы проверить его на сервере, но не знаю, как загрузить их на на моем компьютере я добавил плагин для tomcat, который автоматически распаковывает военный файл в tomcat, но на сервере нет maven.

Каков способ перехода к производству с такими проектами?

Должен ли я просто загружать целевые каталоги для каждого модуля?

Thanks

ответ

1

Здесь вы задаете несколько вопросов. Существует «как я тестирую на сервере» один, и есть «что такое путь для производства». И они могут быть совсем другими.

Я предположил, что файлы JAR в проекте используются WAR-файлом и упакованы в его каталог WEB-INF/lib. Если я ошибаюсь, это круто. Просто такая информация удобна для понимания.

Maven - это инструмент для сборки. Это не инструмент развертывания. То, что у вас есть в конце этого, является файлом WAR. Если вы запустили mvn install (или mvn deploy), у вас есть версия WAR файла SNAPSHOT. Это было бы полезно для быстрого, специального тестирования на других машинах. Но вы, скорее всего, будете использовать методы, предлагаемые для контейнера-хостинга, чтобы сделать их доступными. Примечание: Maven DEPLOY - это отличная вещь от DEPLOY файла войны до tomcat.

На мой взгляд, если вы вкладываете что-либо в производство или перед клиентом или перед группой тестирования, вы должны использовать Maven для выпуска продукта. То есть, используя плагин release (через выпуск: подготовить и освободить: цели плагина), чтобы создать выпуск вашего артефакта, не являющийся SNAPSHOT (в данном случае официальную версию WAR-файла). После того, как у вас есть этот файл WAR, вы можете перенести его на ваш производственный сервер любым способом, который проще всего (копировать, развертывать в tomcat наилучшим образом). Вы не упомянули, существуют ли требования к базе данных для этого веб-приложения, и это необходимо будет рассмотреть, прежде чем вы измените какое-либо производственное приложение.

Но, если у вас есть официальные версии, у вас есть теги исходного кода, и вы можете точно знать, какой код выполняется.

То, что я не думаю, что вы собираетесь получить, это возможность автоматически копировать WAR-файл на производственный сервер из среды разработки. Здесь будут драконы.

+0

Спасибо за ваш ответ @Edh, некоторые из этих модулей работают как отдельная банка, а один из них - военный файл. Эти проекты имеют зависимости от других банок, таких как спящий режим, но когда я вижу целевой каталог, я не вижу банки, и я пытаюсь выполнить банку непосредственно в целевом каталоге, но он не будет запущен из-за зависимостей. Как загрузить мою программу на клиентский сервер и убедиться, что она будет запущена? Я новичок в maven – alvariux

+0

Вы можете использовать Maven для создания файла tar или zip, который содержит все, что вам нужно для развертывания в производственной среде. Войны довольно легкие, поскольку они обычно упаковывают свой багаж. Так что захват войны - это все, что вам нужно. – EdH

+1

Файлы JAR также должны иметь свои зависимости. Maven может это предоставить. Я бы использовал плагин сборки, чтобы упаковать ваши артефакты и те ваши артефакты. Затем вы можете взять этот единственный файл в целевую среду, распаковать и перемещать по своему усмотрению. У меня были tar-файлы, содержащие артефакты, а также скрипты, которые упрощали развертывание и т. Д., Когда они были в рабочей среде. Но это были все пользовательские сценарии, созданные специально для целевой среды.Maven не собирается ничего выводить из коробки – EdH

Смежные вопросы