исправьте меня, если я ошибаюсь, но похоже, что вам нужен какой-то основной код для вашей системы, который вы можете добавить в функциональность, чтобы настроить его для конкретных клиентов.
Настройка может быть достигнута путем написания кода с использованием инфраструктуры OSGI, такой как apache felix или equinox (встроенный в eclipse). Эти структуры являются якобы плагинами, которые позволяют вам добавлять и удалять модули «на лету», но также позволяет писать код как отдельный набор, который можно комбинировать с вашей спецификацией. here - хороший учебник по использованию equinox.
Что касается автоматизации задачи заказчика, то стоит потратить время на то, чтобы посмотреть на что-то вроде Chef, которое используется для автоматической настройки серверного программного обеспечения, такого как apache или mysql, что позволит вам написать «рецепт», для каждой индивидуальной индивидуальной настройки клиентов. Все, что вам нужно было бы сделать после того, как были написаны различные плагины OSGI, - это написать сценарий для их объединения и запуска, после чего вы можете отправить заказчику настроенное программное обеспечение.
* Когда я настроил программу, я выберу версию *. Вы хотите сделать этот выбор во время выполнения или во время развертывания? – CKing
@CKing Развертывание было бы лучше всего, я бы хотел сделать так же просто, как просто выбрать версию. может быть, как установщик? – AlyxEsson