Para Mac, consulte a documentação do Oracle para empacotar um aplicativo Java para Mac . Eles configuraram o Java 7 para que você possa agrupar o tempo de execução em um pacote de aplicativos que contém seus arquivos jar (.app é uma pasta realmente tratada como executável), necessária para a distribuição na Mac App Store. Basicamente, o pacote .app faz o mesmo que o que a resposta JAVA_HOME de Eren sugere, mas é empacotado como um aplicativo Mac "nativo".
Para distribuir sem a Mac App Store, você pode não assinar o aplicativo, informando aos usuários do Mountain Lion que eles podem contornar o Gatekeeper clicando com o botão direito do mouse (ou com a tecla Ctrl + clique) no aplicativo e clicando em "Abrir" quando primeiro abra o aplicativo. Isso ainda os avisa que o aplicativo não está assinado, mas permitirá que eles sejam abertos de qualquer maneira e, em seguida, clique duas vezes no aplicativo para as aberturas subsequentes.
(observação: você também pode se livrar da marcação de scripts do shell no estilo Linux como executável e, em seguida, construir um pacote .app em torno disso. O NetBeans faz isso no Mac e Linux, embora sem um JRE / JDK incluído)