jnlp webstart nativelib: como especificar arquitetura diferente para OS
-
19-09-2019 - |
Pergunta
em um arquivo java webstart (jnlp) você pode especificar o tag nativelib para binários de carga. você também pode especificar toload diferentes para diferentes sistemas operacionais especificando também o atributo os.
Por exemplo:
<resources os="Linux">
<nativelib href="....jar"/>
</resources>
<resources os="Windows">
<nativelib href="....jar"/>
</resources>
<resources os="Mac OS X">
<nativelib href="....jar"/>
</resources>
Mas como posso especificar até mesmo binários diferentes para diferentes arquiteturas? por exemplo Win32 e Win64 ou Linux 32 e Linux de 64 bits. sistemas operacionais. onde eu posso encontrar uma lista de opções para o atributo OS?
Solução
Para determinar que você precisa basicamente a propriedade os.arch
. Veja também http://lopica.sourceforge.net/os.html para uma lista completa. Você pode usar o atributo arch
do elemento <resources>
para isso.
Outras dicas
De acordo com a http://jcp.org/aboutJava/communityprocess/mrel /jsr056/index3.html :
" atributo OS :. Especifica o sistema operacional para o qual o elemento de recursos deve ser considerada se o valor é um prefixo da propriedade do sistema os.name, então o elemento recursos pode ser usado se. o atributo não for especificado, ele corresponde a todos os sistemas operacionais. "
Então, você precisa fazer alguma investigação sobre o valor da propriedade do sistema os.name nas plataformas que você deseja implantar.
Aqui está um exemplo para Windows:
<resources os="Windows" arch="x86">
<nativelib href="....jar"/>
</resources>
<resources os="Windows" arch="x86_64">
<nativelib href="....jar"/>
</resources>
<resources os="Windows" arch="amd64">
<nativelib href="....jar"/>
</resources>
https://stackoverflow.com/a/1703973/361855 dá um link com que inclui valores de arquitetura para outra plataformas.