Saturday, January 7, 2017

How to use third party jar in Java Web Start ?



JWS provides <extension> tag to use third party jars to avoid signing them again with your own signer certificate.But if you do so, you may face problem at run time of the JWS applicatoin.
So if you sign these jars with multiple certificates, you have to use component extension and more than one JNLP files.


Main.jnlp
--------------------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8080/examples/" href="TestN.jnlp">
  <information>
    <title>Application Title</title>
    <vendor>Vendor Name</vendor>
   
    <description>Description of the application</description>
   
    <offline-allowed/>
   <!-- Prefer a shortcut for online operation -->

 </information>
    <security>
          <all-permissions/>
    </security>

<resources>
    <j2se version="1.7+"/>  
   
    <extension name="help" href="finalJnlp.jnlp"/->

    <jar href="final.jar"/>
       
         
</resources>

     <application-desc main-class="com.b.Launcher">
        <argument></argument>
       
    </application-desc>
</jnlp>


finalJnlp.jnlp
--------------------------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>
 <jnlp spec="1.0+"
codebase="http://localhost:8080/examples/" href="Help.jnlp">
 <information>
<title>Final JNLP</title>
<vendor>Sun Microsystems, Inc.</vendor>
 </information>

<resources>

<jar href="bhavaya.jar" download="eager"/>
<jar href="activemq-all-5.13.0.jar" download="eager"/>
<jar href="broker.jar" download="eager"/>
<jar href="commons-collections-3.1.jar" download="eager"/>
<jar href="commons-digester-2.1.jar" download="eager"/>
<jar href="commons-io-2.1.jar" download="eager"/>

</resources>
 <component-desc/>
</jnlp>


The JNLP 1.0 required to use same certificate signed jars to be used in JNLP file.But in JNLP 1.0+ specification we can use jar with multiple certificate as shown in above example.






No comments:

Post a Comment

Fixing yum command on linux

You may find yourself having to fix more packages. So you can just remove everything you had installed via  pip and reinstall everythin...