I have a program I've been writing that use WebStart and I've seeming to run into a issue. I've noticed that no matter what I do I'm unable to get WebStart to download the OS specific jars.
Below you will see my JNLP file. Wehn you look at the resources you will notice i have some OS and architecture independent jars and then I have some OS dependent jars and nativelibs.
Currently everything from the core and universal folders will load properly, but nothing else does. If I make a separate jnlp file that links everything needed for my computer it will download and load up just fine (there are few hiccups to figure out).
Here is my JNLP file do you see what might be wrong?
<?xml version='1.0' encoding='utf-8' ?>
<jnlp
spec="1.0+"
codebase="http://xxxx.xxxxxxxxxxxxxxxx.xxx/java/"
href="MyApp.jnlp?k=14&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>
The “Resource” tag in the Java Web Start descriptor has two key elements to allow efficient Java application deployment. One important attribute of the resource tag is the “os” attribute. This attribute allows you to specify specific platforms for the deployment of your application. Options in the “os” attribute can be “Windows”, “Linux”, “Mac OS X” etc.
The next relevant resource attribute is the “arch” attribute. This attribute allows for the specification of the processor architecture. Relevant values for the “arch” attribute include “x86″ and “amd64″ (even for Intel 64bit)
You need to specify correctly for which arch version you are using those specific OS dependent libraries.
Other arch values can be :
<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>
Hope this helps.