2

WebStart を使用するプログラムを書いていて、問題が発生したようです。何をしても、WebStart に OS 固有の jar をダウンロードさせることができないことに気付きました。

以下に、私の JNLP ファイルを示します。リソースを見ると、OS とアーキテクチャに依存しない jar がいくつかあり、OS に依存する jar とネイティブ ライブラリがいくつかあることに気付くでしょう。

現在、コア フォルダーとユニバーサル フォルダーのすべてが適切に読み込まれますが、それ以外は何も読み込まれません。自分のコンピューターに必要なすべてのものをリンクする別の jnlp ファイルを作成すると、問題なくダウンロードおよびロードされます (いくつかの問題点を把握する必要があります)。

これが私の JNLP ファイルです。何が問題なのかわかりますか?

<?xml version='1.0' encoding='utf-8' ?>
<jnlp
    spec="1.0+"
    codebase="http://xxxx.xxxxxxxxxxxxxxxx.xxx/java/"
    href="MyApp.jnlp?k=14&amp;d=dGMDES%2Bgs0A3d03HbVKkD4T7ONIby1a5NZGMVkwHzsV7tydBs2eoPvyHfeXlNpcxD8H8Wt1kRePtxBuOswZ%2FxA%3D%3D">
    <information>
        <title>Program Name</title>
        <vendor>Company</vendor>
        <description></description>
        <description kind="short"</description>
    </information>
    <update check="always" policy="always" />
    <resources>
        <j2se version="1.7+" href="http://java.sun.com/products/autodl/j2se" />
        <property name="sun.awt.disableMixing" value="false"/>
        <jar href="core/Utilities.jar" size="146289" main="false" download="lazy" />
        <jar href="core/DPFP.jar" size="40239" main="false" download="lazy" />
        <jar href="core/SigPad.jar" size="8293" main="false" download="lazy" />
        <jar href="core/SoapService.jar" size="741035" main="false" download="lazy" />
        <jar href="core/Marketing.jar" size="857781" main="false" download="lazy" />
        <jar href="core/App.jar" size="1172429" main="true" download="eager" />
        <jar href="core/Element.jar" size="506791" main="false" download="lazy" />
        <jar href="universal/ekitspell.jar" size="330488" main="false" download="lazy" />
        <jar href="universal/DJNativeSwing.jar" size="111941" main="false" download="lazy" />
        <jar href="universal/DJNativeSwing-SWT.jar" size="580006" main="false" download="lazy" />
        <jar href="universal/SigPlus2_57.jar" size="125633" main="false" download="lazy" />
        <jar href="universal/japura.jar" size="296730" main="false" download="lazy" />
        <jar href="universal/miglayout15-swing.jar" size="81697" main="false" download="lazy" />
        <jar href="universal/ekit.jar" size="171833" main="false" download="lazy" />
        <jar href="universal/RXTXcomm.jar" size="67856" main="false" download="lazy" />
        <jar href="universal/commons-codec-1.7.jar" size="281608" main="false" download="lazy" />
        <jar href="universal/json_simple-1.1.jar" size="18827" main="false" download="lazy" />
    </resources>
<resources os="Linux">
    <nativelib href="lib/linux/SigUsb.jar" size="108657" download="eager" />
    <nativelib href="lib/linux/rxtx-native-linux.jar" size="175917" download="eager" />
    <jar href="linux/dpfpenrollment.jar" size="334610" main="false" download="lazy" />
    <jar href="linux/dpfpverification.jar" size="37114" main="false" download="lazy" />
    <jar href="linux/dpotapi.jar" size="67688" main="false" download="lazy" />
    <jar href="linux/dpotjni.jar" size="14398" main="false" download="lazy" />
</resources>
<resources os="Mac\ OS">
    <jar href="mac/OS/swt_mac.jar" size="1794474" main="false" download="lazy" />
</resources>
<resources os="Mac\ OS X">
    <nativelib href="lib/mac/OSX/rxtx-native-macosx.jar" size="111183" download="eager" />
    <jar href="mac/OSX/swt_mac.jar" size="1794474" main="false" download="lazy" />
</resources>
<resources os="Windows" arch="x86">
    <nativelib href="lib/windows/rxtx-native-windows.jar" size="178321" download="eager" />
    <nativelib href="lib/windows/x86/SigUsb.jar" size="39385"  download="eager" />
    <jar href="windows/dpfpenrollment.jar" size="334610" main="false" download="lazy" />
    <jar href="windows/dpfpverification.jar" size="37114" main="false" download="lazy" />
    <jar href="windows/dpotapi.jar" size="67688" main="false" download="lazy" />
    <jar href="windows/dpotjni.jar" size="14398" main="false" download="lazy" />
    <jar href="windows/x86/swt_windows_x86.jar" size="2007870" main="false" download="lazy" />
</resources>
<resources os="Windows" arch="x86_64">
    <nativelib href="lib/windows/rxtx-native-windows.jar" size="178321" download="eager" />
    <nativelib href="lib/windows/x86_64/SigUsb.jar" size="48092"  download="eager" />
    <jar href="windows/dpfpenrollment.jar" size="334610" main="false" download="lazy" />
    <jar href="windows/dpfpverification.jar" size="37114" main="false" download="lazy" />
    <jar href="windows/dpotapi.jar" size="67688" main="false" download="lazy" />
    <jar href="windows/dpotjni.jar" size="14398" main="false" download="lazy" />
    <jar href="windows/x86_64/swt_windows_x86_64.jar" size="2064877" main="false" download="lazy" />
</resources>
    <application-desc main-class="opt.companyname.app.Main">
        <argument>k=14</argument>
        <argument>d=dGMDES+gs0A3d03HbVKkD4T7ONIby1a5NZGMVkwHzsV7tydBs2eoPvyHfeXlNpcxD8H8Wt1kRePtxBuOswZ/xA==</argument>
    </application-desc>
    <security>
        <all-permissions/>
    </security>
</jnlp>
4

1 に答える 1

5

Java Web Start 記述子の「Resource」タグには、効率的な Java アプリケーションの展開を可能にする 2 つの重要な要素があります。リソースタグの重要な属性の 1 つに「os」属性があります。この属性を使用すると、アプリケーションをデプロイするための特定のプラットフォームを指定できます。「os」属性のオプションは、「Windows」、「Linux」、「Mac OS X」などです。

次に関連するリソース属性は「arch」属性です。この属性により、プロセッサ アーキテクチャを指定できます。「arch」属性に関連する値には、「x86」と「amd64」が含まれます (Intel 64 ビットの場合も)

これらの特定の OS 依存ライブラリを使用しているアーキテクチャのバージョンを正しく指定する必要があります。
その他のアーチ値は次のとおりです。

<resources os="Linux"  arch="i386 x86" >  
...
</resources>

<resources os="Linux"  arch="amd64" >  
...
</resources>

<resources os="Windows"  arch="x86" >  
...
</resources>

<resources os="Windows"  arch="amd64" >  
...
</resources>

<resources os="Mac\ OS\ X" arch="x86_64" >  
...
</resources>

<resources os="Mac\ OS\ X" arch="i386 x86">  
...
</resources>

お役に立てれば。

于 2013-03-06T10:35:06.163 に答える