Как я могу выполнить горячее развертывание своего 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, поддерживают некоторую форму горячей замены для веб-приложений.
Если у вас есть файлы классов, вы можете поместить их в WEB-INF/classes. Это то, что вы искали?
Не создавайте с помощью maven, используйте развернутое развертывание, чтобы контейнер мог автоматически получать статические файлы пользовательского интерфейса и JSP. Для перезагрузки изменений в файлы классов вы можете запустить приложение в сеансе отладки и использовать hotswap (который позволяет вам только вносить изменения в тела методов) или преодолеть свою потребность в бесплатном программном обеспечении и купить себе лицензию JRebel, которую можно бесплатно использовать на других компьютерах. коммерческие проекты ( http://social.jrebel.com/)