jnlp webstart nativelib: come specificare un'architettura diversa per os
-
19-09-2019 - |
Domanda
in un file Java Web Start (JNLP) è possibile specificare il tag nativelib per caricare file binari. è anche possibile specificare quelli toload diversi per i diversi sistemi operativi specificando anche l'attributo os.
Ad esempio:
<resources os="Linux">
<nativelib href="....jar"/>
</resources>
<resources os="Windows">
<nativelib href="....jar"/>
</resources>
<resources os="Mac OS X">
<nativelib href="....jar"/>
</resources>
ma come posso specificare anche i binari diversi per diverse architetture? per esempio Win32 e Win64 o Linux 32 e Linux 64bit. sistemi operativi. Dove posso trovare un elenco di opzioni per l'os-attributo?
Soluzione
Per determinare che è fondamentalmente bisogno la proprietà os.arch
. Vedere anche http://lopica.sourceforge.net/os.html per un elenco completo. È possibile utilizzare l'attributo arch
dell'elemento <resources>
per questo.
Altri suggerimenti
http://jcp.org/aboutJava/communityprocess/mrel /jsr056/index3.html :
" attributo os : Specifica il sistema operativo per il quale dovrebbe essere considerato l'elemento di risorse Se il valore è un prefisso della proprietà di sistema os.name, quindi l'elemento di risorse può essere utilizzato se.. l'attributo non è specificato, esso corrisponde a tutti i sistemi operativi ".
Quindi, è necessario fare qualche indagine del valore della proprietà di sistema os.name sulle piattaforme che si desidera distribuire.
Ecco un esempio per 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à un legame con i valori che comprende architettura per altri piattaforme.