You should consider restrictions of using JavaWebStart-An implementation of JNLP technology:
Your code must be followed of JNLP restrictions. All classes & resources(including xml, property and other files) must be archived. All resources must be read from ClassLoader(& not from file system).
Your client-side code must be always in up-to-date state(maintaining resource versions in server side), otherwise client will be in inconsistent mode.
First time, all client-side artifacts(and JRE & JWS Plugin, if they does not exist in client-side) will be downloaded from server-side to client side. This issue should be considered in low-speed internet/intranet lines.
For more information about JNLP & its restrictions,please refer to attached document.