Как я могу выполнить горячее развертывание своего Java-проекта?

Я работаю в команде разработчиков Java. Мы пишем код в Eclipse, а затем используем maven для построения войны. После этого мы развернем войну в Tomcat.

Есть ли бесплатный способ автоматического развертывания файлов при сохранении?

Благодарю.

6 ответов

JRebel дает вам именно это: автоматически развертывать файлы при сохранении, используя Eclipse AND Tomcat, но вы должны платить за это.

Я рекомендую JRebel, но быстрый взгляд на бесплатные альтернативы поднимает этот SO вопрос, где кто-то предложил VM Dynamic Code Evolution в качестве аналогичного продукта.

Здесь есть хорошая статья о различных способах горячего развертывания веб-приложений Java, в которой также подробно описаны некоторые из уже упомянутых других подходов.

Если вы хотите выполнить развертывание в целях тестирования на компьютере разработчика, вам следует использовать плагин Tomcat Maven или, что лучше, плагин Maven Jetty (он лучше, потому что он легче и быстрее).

Если вы хотите развернуть его на удаленном сервере, скажите, что при каждом коммите в вашем SCM вы должны использовать инструменты непрерывной интеграции, такие как, например, Jenkins или Apache Continuum.

  • OSGi - это модульная система общего назначения, которая поддерживает горячее развертывание.
  • Clojure - это динамический язык JVM, который обеспечивает большую интерактивность во время выполнения. Clojure часто используется для "живого" кодирования - практически все может быть заменено в горячем режиме и переопределено во время выполнения. Clojure - это функциональный язык с сильным акцентом на неизменяемость и параллелизм, поэтому в некоторых отношениях он имеет некоторые интересные сходства с Erlang. Clojure имеет несколько очень хороших веб-фреймворков, таких как Noir, которые подходят для горячей замены кода.
  • Платформа Play Framework предназначена для обеспечения возможности горячей замены кода по соображениям производительности, избегая перезапусков веб-сервера). Может быть уместно, если вы смотрите в первую очередь на горячие замены веб-приложений.
  • Большинство серверов приложений Java, таких как JBoss, поддерживают некоторую форму горячей замены для веб-приложений.

Вы можете использовать плагин Maven Jetty

Если у вас есть файлы классов, вы можете поместить их в WEB-INF/classes. Это то, что вы искали?

Не создавайте с помощью maven, используйте развернутое развертывание, чтобы контейнер мог автоматически получать статические файлы пользовательского интерфейса и JSP. Для перезагрузки изменений в файлы классов вы можете запустить приложение в сеансе отладки и использовать hotswap (который позволяет вам только вносить изменения в тела методов) или преодолеть свою потребность в бесплатном программном обеспечении и купить себе лицензию JRebel, которую можно бесплатно использовать на других компьютерах. коммерческие проекты ( http://social.jrebel.com/)

Другие вопросы по тегам