Я предлагаю вам не "доставлять" эти банки отдельно. У Java есть очень тонкие проблемы с версиями, с которыми вы не хотите сталкиваться. Соберите все вместе и упакуйте в один или два баночки и всегда поставляйте оба баночки, или соберите их вместе и поставьте подмножество банок (но никогда не комбинируйте новые и старые банки - не пытайтесь просто отправить одну банку как обновление ).
Если вы должны построить их отдельно, имейте в виду, что конечные константы компилируются и на них нет ссылок - поэтому, если вы измените их и предоставите новый jar, любые ссылки из старого jar обновляться не будут.
Также сигнатуры методов, которые меняются, будут иметь странные, непредсказуемые результаты.
Звучит так, будто вам также нужен интерфейс разработчика - это может быть набор интерфейсов и классов, которые находятся в отдельном фляге. Если вы сделаете эту банку достаточно хорошо, чтобы вам никогда не приходилось ее пересматривать (и, разумеется, без ссылок на внешние константы), вы, вероятно, можете обойтись без ее обновления, которая не позволит расширениям ваших клиентов стать хрустящими.