Когда вы доставляете свой код (в виде JAR-файлов), вам необходимо убедиться, что вы доставляете только клиентский код клиенту. Это может означать, что лучше всего поместить это в отдельный модуль; хитрость, которую я часто использую, заключается в том, чтобы поместить общий код в общий модуль (который может быть, а может и не быть внутри нескольких пакетов), а затем иметь отдельные клиентские и серверные модули, которые зависят от общего. Такой инструмент, как Maven, делает это довольно легко.
И никогда не определяйте пакет в нескольких модулях одновременно. Это просто боль и растерянность.