Comments 43
странно, почему вы думаете, что Jetty тормознутый — его очень многие используют, и как раз потому, что достаточно быстрый и расширяемый, с другой стороны небольшой. Уж по крайней мере по сравнению с приводимыми Tomcat и jBoss
Да не думаю я так, просто часто слышал подобные высказывания.
Я это не подтверждаю и не опровергаю, я говорю, что в данном контексте это неважно.
Я это не подтверждаю и не опровергаю, я говорю, что в данном контексте это неважно.
Да не думаю я так. Мне просто доводилось слышать подобные высказывания.
Я их не подтверждаю и не опровергаю, я говорю, что в данном контексте это неважно.
Я их не подтверждаю и не опровергаю, я говорю, что в данном контексте это неважно.
UFO just landed and posted this here
Единственный способ разрабатывать быстро веб приложения на JAVA это использование PLAY! framework.
а OSGI?
У меня один раз получилось настроить Eclipse WTP для hot redeploy. Но как то он жил своей жизнью, при смене лунной фазы все переставало работать.
А почему вы не приводите в пример maven, в частности jetty-maven-plugin? Всякие IDE-зависимые вещи, как показывает опыт, очень сильно мешают в переспективе — настройка environment'а слишком затягивается для новых сотрудников или после восстановление системы, плюс всякие несовместимости плагинов и т.п.
Да, есть и такой способ. Кстати, не только Maven — например, в Gradle это очень удобно сделано. Добавлю.
Ну да, этим Launcher и хорош, что не зависит от IDE.
Ну да, этим Launcher и хорош, что не зависит от IDE.
Gradle — это, емнип, для grails. Поэтому не очень для дженеричной java. А Launcher хорош, но имхо, maven он более православный путь в том смысле, что уже есть велосипед :)
Ничего подобного, Gradle — инструмент для сборки любых проектов, и в частности, для Java он прекрасно подходит. Например, проект Hibernate перешёл на него год или два назад. Мы тоже его используем, очень удобно.
Если ты запускаешь приложение из Maven, как его дебажить? Есть, конечно, remote debug, но ведь его ещё надо настроить. Запускать дебаг одной кнопкой по-любому проще.
Если ты запускаешь приложение из Maven, как его дебажить? Есть, конечно, remote debug, но ведь его ещё надо настроить. Запускать дебаг одной кнопкой по-любому проще.
в силу особенностей апп использую Red5 server но процедура запуска у меня аналогичная.
UFO just landed and posted this here
в список альтернатив можно было ещё grails добавить
Скажи пожалуйста, а c приложениеями, которые активно используют CDI, JPA, JSF и прочие JEE оно наверно не взлетит?
JRebel вам в помощь. Правда, он не бесплатный.
Мы пользуемся Sysdeo (для Tomcat) для Eclipse, который позволяет совместить контекст томката и проекта, потому не нужно собирание war-файла и подкладывание его контейнеру, всякий css, html и прочий js правится сразу, на горячую. В большинстве случаев работает hot replace.
Да, его я тоже пробовал. В общем, хорошая штука, делает примерно то же самое.
Но мне кажется, он требует больше телодвижений. И Томкат надо поставить, и какой-то новый «tomcat project» создать… А что, если я не хочу новый проект создавать? И структура этого проекта должна быть строго определённая…
И ещё он меняет сам Томкат (server.xml). В общем, хорошо, но можно проще.
Но мне кажется, он требует больше телодвижений. И Томкат надо поставить, и какой-то новый «tomcat project» создать… А что, если я не хочу новый проект создавать? И структура этого проекта должна быть строго определённая…
И ещё он меняет сам Томкат (server.xml). В общем, хорошо, но можно проще.
Да, существующую кодовую базу сложно привести в соответствие с требованиями, накладываемыми плагином. Но можно, и делалось. server.xml насколько я помню не меняется, добавляется только описание нового контекста, но я могу ошибаться. В любом случае — это томкат локальный, если что — его не жалко. Ну и я написал по поводу Sysdeo наверное больше потому, что по-хорошему его бы тоже добавить в список альтернативных решений. Оно все же лучше, когда используется один и тот же контейнер на машине разработчика, и на сервере.
UFO just landed and posted this here
Не знаю, важно ли, но с седьмой версии Jetty названия пакетов и классов были поменяны с org.mortbay.jetty.* на org.eclipse.jetty.* — подробнее в Eclipse Wiki.
Соответственно, ваш код с более новыми версиями Jetty работать не будет (что, правда, пока не так сильно важно, поскольку и 6-ая и 7-ая версия поддерживаются; впрочем, сами разработчики Jetty рекомендуют для новых проектов использовать седьмую версию).
Соответственно, ваш код с более новыми версиями Jetty работать не будет (что, правда, пока не так сильно важно, поскольку и 6-ая и 7-ая версия поддерживаются; впрочем, сами разработчики Jetty рекомендуют для новых проектов использовать седьмую версию).
А я Spring source tool suite использую — их навороченный томкэт умеет редеплоить при сохранении файлов.
Если в проекте используется Maven, то все проблемы решаются Embeded Jetty плагином.
Eclispe и Idea умеют запускать MVN-задачи, а редеплоится Jetty будет автоматом в таком режиме (от этого правда больше негатива, чем позитива).
Eclispe и Idea умеют запускать MVN-задачи, а редеплоится Jetty будет автоматом в таком режиме (от этого правда больше негатива, чем позитива).
Спасибо за статью. Настроил все так же как вы и описывали. Однако приложение почему-то не подхватывает автоматически свежескомпиллированный код. Пользуюсь Intellij Idea (создал линк с out к WEB-INF/classes), работаю с javax.ws + org.restlet. Нужно ли мне что-то еще настраивать? Или это спицифика выбранных фреймворков?
Кстати, статика отдается нормально, проверил скомпилленные классы — меняется время последнего изменения, но все равно не подхватывается
Нет, ничего настраивать не надо. IDEA умеет сама подхватывать свежескомпилированные классы. Правда, есть ограничение, накладываемой явой: перекомпилированный класс подхватится, только если изменения внутри тела метода. А если изменился API (т.е. сигнатура метода, имя класса), то не подхватится. Но в обоих случаях IDEA явно говорит об этом пользователю: после компиляции в левом нижнем углу вслывает окошечко с надписью a'la «classes reloaded» или «classes could not be reloaded».
Кстити, в IDEA эту функциональность можно принудительно отключить. Может, она у вас отключена?
Кстити, в IDEA эту функциональность можно принудительно отключить. Может, она у вас отключена?
IDEA c Tomcat подхватывает изменения css/html на лету, если запускаться как Tomcat Server local или через tomcat7-maven-plugin.
Из IDEA я не пробовал запускать Tomcat. Пробовал из Eclipse (точнее, MyEclipse). Во-первых, интерфейс был очень сложным. А во-вторых, скорость ужасающая. По каждому чиху MyEclipse копировала все статические ресурсы и java-классы в tomcat. Приложение большое, ресурсов было много — копирование тормозило жутко.
Правка: подхватывает если
1. деплоить не war а war exploded
2. в окне Debug у Server Deployment нажата кнопка Update Resources on Frame Deactivation
1. деплоить не war а war exploded
2. в окне Debug у Server Deployment нажата кнопка Update Resources on Frame Deactivation
Sign up to leave a comment.
Быстрая разработка веб-приложений на Java