Я пытаюсь найти оптимальный способ разработки и выпуска довольно простого веб-приложения и сталкиваюсь с несколькими проблемами. Я обрисую в общих чертах решения, которые я принял, потому что где-то я явно сошел с рельсов ... Огромная благодарность за любую помощь!
У меня есть довольно простое веб-приложение. Он содержит пару jsps, которые ссылаются на пару java-бинов, а также обычный статический html, js, css и изображения.
Решение 1) Я хотел иметь четкую и чистую процедуру выпуска, чтобы я мог разрабатывать на своей локальной машине и затем надежно выпускать на производственную машину. Поэтому я принял решение упаковать приложение в файл war (включая все статические ресурсы), чтобы свести к минимуму отдельные фрагменты, которые мне нужно будет выпустить. Пока все хорошо?
Решение 2) Я хотел, чтобы на моей локальной машине все было как можно ближе к производственной среде. Так, например, в моем html-файле может быть ссылка на статический файл, такой как http://static.foo.com/file. Чтобы этот код работал без проблем на dev и prod, я решил поместить static.foo.com в мой / etc / hosts при локальной разработке, чтобы все URL работали правильно, ничего не меняя.
Решение 3) Я решил использовать eclipse и maven, чтобы дать мне наилучшую среду для администрирования и построения моего проекта.
Итак, у меня сейчас хорошая жесткая настройка, за исключением:
Каждый раз, когда я хочу что-то изменить в разработке, например, одну строку в html-файле, мне приходится перестраивать весь проект, а затем ждать, пока tomcat загрузит войну, прежде чем я увижу, что это то, что я хотел. Итак, мои вопросы:
1) Есть ли способ соединить затмение и кота, чтобы мне не приходилось каждый раз перестраивать войну? то есть tomcat смотрит прямо на мое фактическое рабочее пространство, чтобы подавать статические файлы?
2) Я думаю, что я, возможно, усложняю ситуацию, используя / etc / hosts для отражения рабочих URL-адресов - есть ли лучший способ, который не предполагает ручного изменения URL-адресов (относительные URL-адреса хороши, конечно, но там, где вы Есть много поддоменов, скажем, один для статических файлов и один для динамических, вы, конечно, должны записать полный путь?)
3) Это действительно лучшая практика? Как люди настраивают вещи так, чтобы они уравновешивали требования к автоматизированному, всеобъемлющему процессу сборки, с одной стороны, и скорость и гибкость, чтобы иметь возможность быстро разрабатывать javascript, html и css, как если бы вы только что указали apache в каталоге и разработано вживую? Что люди находят работы?
Большое спасибо!
Редактировать: Спасибо всем за ваши отличные ответы! Если бы я мог пометить их все правильно, я бы .. Это действительно помогло мне. Я слышал о том, что наилучшей практикой является сохранение структуры веб-приложения в процессе разработки и запуск его в максимально приближенной к рабочей среде среде. Похоже, что различия между людьми заключаются в том, насколько люди готовы к оперативному развертыванию ресурсов в контейнере сервлетов, обходя процесс сборки за небольшую дополнительную скорость или удобство. В этом есть смысл. Еще раз спасибо.