Одна из проблем заключается в том, что если разработчик не добавляет новые файлы в VCS, то этот разработчик является единственным, способным создавать EARS,
Если разработчик не использует VCS, это не единственная ваша проблема:
- Вы не можете воспроизводить вещи в другой среде, вы привязаны к машине разработчика (но вам это известно). Что если он болен?
- Отсутствие версий файлов означает, что у вас нет истории изменений и что вы не знаете, что положили в производство («Хм, что в этой версии? Подождите, давайте откроем EAR, чтобы проверить это».) .
- И, наконец, что не менее важно, в случае аппаратного сбоя (например, сбой жесткого диска) вы можете попрощаться со всем, чего нет в VCS.
Итак, первый , который нужно исправить, - это ВСЕГДА файлов версий, даже если есть только один разработчик, так как работа в одиночку не спасет вас от упомянутых проблем. Об этих моментах следует помнить (разработчик должен знать о них, чтобы понять их важность).
Чтобы убедиться, что это произойдет, вам не следует полагаться на машину разработчика для создания EAR, а полагаться на «внешний» процесс, который будет ссылкой . Вы хотите избежать этого синдрома:
альтернативный текст http://img716.imageshack.us/img716/9901/worksonmymachinestarbur.png
Чтобы внедрить такой процесс, вам необходимо автоматизировать сборку (т. Е. Всю сборку можно запустить одной командой) и разорвать зависимость с помощью вашей IDE. Другими словами, не используйте IDE для построения EAR, а используйте такой инструмент, как Maven или Ant (которые не зависят от IDE). Это будет секунда , которую нужно исправить.
Как только вы автоматизируете свой процесс сборки, вы можете пойти еще дальше и запустить его непрерывно: это называется Непрерывная интеграция (CI) и позволяет получать частую , идеально немедленная, обратная связь об изменениях (чтобы избежать проблем с интеграцией большого взрыва). Это будет третье исправление.
Учитывая ваш реальный набор инструментов (который далеко не идеален, сообщества не пользуются поддержкой инструментов, которые вы используете), я бы рекомендовал использовать Ant (или Maven, если у вас есть некоторые знания об этом) для сборки и Hudson для непрерывной интеграции (поскольку он чрезвычайно прост в установке и использовании и имеет плагин Dimensions ).