O MacOS vem com versões do Java voltando até 1.3. Veja /System/Library/Frameworks/JavaVM.framework/Versions
. A única vez que você precisa instalar a partir de um pacote é quando o Java mais recente é mais recente que a sua versão do SO e você não pode usar a Atualização de Software por algum motivo.
O fornecedor do seu aplicativo deve realmente assumir a responsabilidade, mas provavelmente você pode corrigir o problema editando o .plist do aplicativo. Clique com o botão direito do mouse no aplicativo e escolha Mostrar conteúdo do pacote e abra o arquivo Info.plist
com um editor de texto. Você verá um dicionário Java
nesse arquivo e uma chave JVMVersion
. Altere o valor para 1.5*
(1.4 + significaria qualquer coisa após a versão 1.4, 1.6 * seria qualquer versão do 1.6.) Isso fará com que seu aplicativo seja executado no Java 1.5.
No entanto, isso pode não ser a história toda. Ao lado do Info.plist
, você encontrará MacOS/JavaApplicationStub
. Este é o MacOS X Binary real que inicia a JVM. O desenvolvedor pode ter enviado seu aplicativo com uma versão antiga desse arquivo que não é compatível com seu sistema operacional. Você terá uma cópia atualizada deste arquivo em sua máquina já em /System/Library/Frameworks/JavaVM.framework/Versions/Current/Resources/MacOS/JavaApplicationStub
. Substitua a versão do aplicativo por esta.
O aplicativo ainda pode não ser executado porque (por exemplo) não pode carregar bibliotecas nativas de 32 bits depois de ser lançado como 64 bits. Nesse caso, você pode remover a parte de 64 bits do Stub com o comando lipo: lipo -remove x86_64 JavaApplicationStub -output JavaApplicationStub
Espero que isso funcione. E se isso acontecer, não se esqueça de avisar o desenvolvedor do aplicativo.