Eu tenho um aplicativo java, que não costuma funcionar:
Please install Java JRE 1.7.0_45 or a more recent version
Acho que verifica a versão e o fornecedor do java. O openJDK tem opção especial para emular o fornecedor. Eu não quero instalar o Oracle Java.
Aqui está minha saída de java -version
:
openjdk version "1.8.0_74"
OpenJDK Runtime Environment (build 1.8.0_74-b02)
OpenJDK 64-Bit Server VM (build 25.74-b02, mixed mode)
Não é uma solução legal, mas funciona
Eu instalei o Oracle JRE perto do OpenJDK. No Manjaro (Arch) Linux é muito simples
yaourt -S jre
Após a instalação completa, ele pedirá que você selecione o java padrão. archlinux-java status
mostra máquinas Java instaladas. Eu escrevi um pequeno script para rodar meu aplicativo caprichoso com oracle jre:
#!/bin/sh
## Get first JRE from
jrepath=$(archlinux-java status | grep 'jre' -m1 )
## remove spaces
jrepath=$(echo $jrepath | grep -v -e '^$')
## Compose full path
jrepath="/usr/lib/jvm/$jrepath/bin/java"
## Check if it works DEBUG ${jrepath} -version
${jrepath} -jar path/to/STM32CubeMX
Além disso, eu queria executar o aplicativo da pasta em que o script é:
## Where is script
pushd 'dirname $0' > /dev/null
SCRIPTPATH='pwd -P' ## -P to resolve symlinks
popd > /dev/null
${jrepath} -jar $SCRIPTPATH/STM32CubeMX