Ответ - "это зависит".Вполне возможно, что «лучшее решение» - просто отправить файл .jar с инструкциями по его вызову.
Раздел документации Java7: Упаковка автономных приложений
7.1 Введение
Инструменты упаковки Java обеспечивают встроенную поддержку нескольких форматов автономных пакетов приложений.Базовый пакет представляет собой одну папку на жестком диске, которая включает в себя все ресурсы приложения и JRE.Пакет может быть перераспределен как есть, или вы можете создать устанавливаемый пакет (например, в формате EXE или DMG.)
С точки зрения процесса, создание автономного пакета приложения аналогично созданию базового пакета.Пакет приложения, как описано в главе 5 «Основы упаковки», со следующими отличиями:
Необходимо явно запрашивать автономные пакеты приложения, передавая дополнительные аргументы в задачу Ant или инструмент javapackager.
Требования к операционной системе и инструментам должны быть выполнены, чтобы иметь возможность собрать пакет в определенном формате.
Автономные пакеты приложений могут быть толькопостроено с использованием JDK 7 Update 6 или более поздней версии.
Хотя создать базовый автономный пакет приложений очень просто, адаптация его для достижения наилучшего пользовательского опыта для конкретного метода распространения обычно требует определенных усилий иболее глубокое понимание темы.
...
7.3.5.1 OS X
Полученный пакет в OS X является «комплектом приложений».
Несколько параметров конфигурации размещены в файле Info.plist в комплекте приложенийи должен соответствовать следующим правилам:
Идентификатор приложения (или имя основного класса, если идентификатор не указан) используется в качестве CFBundleIdentifier.
Версия приложения используется в качестве CFBundleShortVersionString.
В OS X 10.8 представлен Gatekeeper, который предотвращает выполнение ненадежного кода по умолчанию независимо от того, реализован ли этот код в Objective-C или Java.
Пользователь может вручную включить приложение длязапустить, но это не идеальный пользовательский опыт.Чтобы получить оптимальное взаимодействие с пользователем, получите сертификат разработчика ID от Apple.Пакет Mac использует сертификат для подписи папки .app.Если информация о локальном пользователе отличается от имени сертификата, вам может потребоваться установить аргумент пакета mac.signing-key-user-name, как показано в следующем примере: