Version-based download without WAR file?

Hi,
is it possible to make a version-based download without using WAR files?
Thanks in advance
Roland

Hi Roland,
I think version-based download has nothing to
do with WAR-files.
Your servlet container (e.g. Tomcat) only extracts
Your war file on startup.
Regards,
Mathias

Similar Messages

  • Javawebstart: Version based download.

    Hi,
    Anyone has idea about implementing the jnlp version based download.
    We are developing a webstart application, it has around 30 jar files in the jnlp. so every time when we deploy a new version of application, for the first time when we launch the application the time taken is around 30 mins, the further access to jnlp is not a problem coz the applicaiton is getting launched from the local cache.
    Size of the total jar files is around 50MB.
    So for increasing the download speed we are now using the pack200 compression. So now the download time is decreased a bit its around 10-15 mins.
    But i feel if we use version based download, the jar files that were changed in the new version of the application will only be downloaded when we launch the application, the download time will be very less coz it will be downloading only the changed jars.
    as the application is been accessed from remote locations we need to go for the version based download.
    I once tried the the version based download by manually creating the jnlp file and versioning the jar files manually. it worked fine, but this cannot be done everytime. We deploy a new version of the application every week.
    Is there any way that we can automatically build the jnlp file and all the jar files with version, so that we can use version based download.
    Please let me know if any one (ANT task or maven or any properatory tasks .) providing support for building the webstart project automatically with version based download.
    Thanks
    Thiru.

    Hi Roland,
    I think version-based download has nothing to
    do with WAR-files.
    Your servlet container (e.g. Tomcat) only extracts
    Your war file on startup.
    Regards,
    Mathias

  • Can't get version based downloads to work

    I am new to JNLP and trying to get version based downloads to work. I have read everything I can find, but I still seem to be missing something. My setup:
    Tomcat 4.1.18 (running in JDK 1.4.0)
    Java WebStart 1.2
    Win 2k
    files in .war
    -launch.jnlp
    -+1.0
    |-testapp.jar
    |-version.xml
    -+images
    |-Save.gif
    -+META-INF
    |-MANIFEST.MF
    -+WEB-INF
    |-+lib
    | |-jnlp-servlet.jar
    |-web.xmllaunch.jnlp
    TS: 2002-04-23 19:21:05
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp codebase="$$codebase" href="$$name">
       <information>
          <title>ljtest 1</title>
          <vendor>Lance</vendor>
          <description>just an example</description>
          <icon href="images/Save.gif"/>
       </information>
       <resources>
          <j2se version="1.2+"/>
          <jar href="1.0/testapp.jar" version="1.0"/>
       </resources>
       <application-desc main-class="Main"/>
    </jnlp>version.xml
    <jnlp-versions>
       <resource>
          <pattern>
             <name>testapp.jar</name>
             <version-id>1.0</version-id>
          </pattern>
          <file>testapp.jar</file>
       </resource>
    </jnlp-versions>web.xml
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
        "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
      <web-app>
         <servlet>
            <servlet-name>JnlpDownloadServlet</servlet-name>
            <servlet-class>com.sun.javaws.servlet.JnlpDownloadServlet</servlet-class>
            <init-param>
               <param-name>logLevel</param-name>
               <param-value>DEBUG</param-value>
            </init-param>
         </servlet>
         <servlet-mapping>
            <servlet-name>JnlpDownloadServlet</servlet-name>
            <url-pattern>*.jnlp</url-pattern>
         </servlet-mapping>
      </web-app>Things I have discovered (possibly in error?):
    1) I do not need to include the jaxp.jar and parser.jar files because I am using JDK 1.4
    2) I do not need to change my testapp.jar to testapp_V1.0.jar because I have included the the version.xml file in the 1.0 directory
    I keep getting the following error in WebStart when I loadup the jnlp:
    JNLPException[category: Download Error : Exception: null : LaunchDesc: null ]
         at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
         at com.sun.javaws.cache.DownloadProtocol.getDownloadSize(Unknown Source)I can get everything to work without version based downloads. Does anyone have any clue what I am doing wrong?
    Lance

    I found my own error. After loading up sun's reference implementation server in NetBean's debugger I noticed that it was only handling .jnlp files. Going back to the "Packaging JNLP Applications in a Web Archive" document I found my mistake. My web.xml files should have looked like this.
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
        "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
      <web-app>
         <servlet>
            <servlet-name>JnlpDownloadServlet</servlet-name>
            <servlet-class>com.sun.javaws.servlet.JnlpDownloadServlet</servlet-class>
            <init-param>
               <param-name>logLevel</param-name>
               <param-value>DEBUG</param-value>
            </init-param>
         </servlet>
         <servlet-mapping>
            <servlet-name>JnlpDownloadServlet</servlet-name>
            <url-pattern>*</url-pattern>
         </servlet-mapping>
      </web-app>The difference being the <url-pattern> tag. It now tells the web server to handle all files not just .jnlp.
    This allowed me to download version based jnlp entries. I still can't get jarDiff things to work, but I will keep banging my head against the wall till I figure that out.
    Lance

  • Anyonme got version-based download working ?

    I've scanned all the messages here as well as on vamp, but nowhere do I see an anwser on how to get versioning working.
    My test app is a straight forward one.
    Below are the jnlp and version.xml.
    As long as the attribute [version="1.1"] is included I get the;
    Missing version field in response from server when accessing resource: (http://localhost/Webstart/app/uitrij.jar, 1.1)
    error. When I strip only that attribute the app loads just fine.
    The excpetion that results in the above mentioned error is also listed below.
    Anyone got any ideas ?
    Anne.
    launch.jnlp:
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp codebase="http://localhost/Webstart/app/" href="launch.jnlp">
    <information>
    <title>VSP Uitrij Example 1</title>
    <vendor>Finalist IT</vendor>
    <description>Example of Webstart uitrij app in war</description>
    </information>
    <resources>
    <j2se version="1.2+"/>
    <jar href="uitrij.jar" version="1.1"/>
    </resources>
    <application-desc/>
    </jnlp>
    version.xml:
    <jnlp-versions>
    <resource>
    <pattern>
    <name>uitrij.jar</name>
    <version-id>1.1</version-id>
    </pattern>
    <file>uitrij.jar</file>
    </resource>
    </jnlp-versions>
    Java Webstart Download Error -Exception tab:
    JNLPException[category: Download Error : Exception: null : LaunchDesc: null ]
    at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
    at com.sun.javaws.cache.DownloadProtocol.getDownloadSize(Unknown Source)
    at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source)
    at com.sun.javaws.LaunchDownload.downloadEagerorAll(Unknown Source)
    at com.sun.javaws.Launcher.downloadResources(Unknown Source)
    at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
    at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
    at com.sun.javaws.Launcher.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:479)

    Hi Marc,
    My impression was that the JnlpDownloadServlet wasOh sorry. I did not recognize that you already used
    the download servlet.Well, you were partially right I think :)
    Problem is that I've been combining two test at the same time.
    In one test I have all the files in a directory(-structure) on a (local) webserver.
    This allows me to do the simple tests.
    And then I create a .war and deploy that to a (local) application server (HP's Bluestone 7.3 in this case).
    The versioning would only work when doing the app server test, as the 'standalone' test has no back-end to interpret the request for a version-specific file (jar), as you pointed out.
    As the deployment using a .war file (still) doesn't seem to work because of the .getRealPath() problem (see http://developer.java.sun.com/developer/bugParade/bugs/4474021.html) I don't even get to versioning in that test.
    So if I want versioning I have a couple of options I guess;
    - Try the jar as provided by BEA as mentioned in
    http://forum.java.sun.com/thread.jsp?forum=38&thread=176243
    If this indeed works (haven't tried it yet), my guess is they 'fixed' the getRealPath() problem(s) themselves. (It doesn't seem like it's fixed in the current jnlpDownloadServlet )
    - Set up the app server as a straight-forward servlet-runner to run the jnlpDownloadServlet without using the std deployment.
    I'd prefer the 1st option to work, as I'd like to be able to deploy using a .WAR.
    The latter would basically come down to what you called 'installing a helper'.
    As far as I understand, you switch from basic to
    version-based
    download by adding the version="x.y" attribute to the
    jar element.And add the version.xml which links the versions to actual files (jars), IIRC.
    What happens next, complete download of the new
    version or the download of a difference jar is up to the jnlpI'm not quite clear on when the diff is done and when a complete file/jar is downloaded, but that at the moment is a moot point for me :)
    My guess is that you did not setup the servlet
    properly or that it doesn't work for some other reason.Several reasons, as mentioned above :)
    The only way to find out is to have a look at the HTTP
    communication between jnlp client and servlet that happens during
    your test.
    Do you know how to do that?Well, one thing I've been trying to get to work is the logging of the jnlpDownloadServlet.
    But even in DEBUG mode it doesn't really give me much information.
    I've also got Webstart's logging on, but again the information in it's logfile is not really informative.
    I've also used Sam Spade to see what responses I get from specific requests.
    Hmm, just thought of something; I haven't looked at the logfile of the web-server yet.
    Not that I think it'll help me much, but might be of interest to look at it all the same.
    <aside>
    Interestingly enough SamSpade gave me two different results when requesting the .jnlp file from the .WAR.
    Using a HTTP 1.0 it gave me a 404
    Using HTTP 1.1 it gave me the jnlp file.
    </aside>
    FWIW; I'm currently leaning towards phasing the implementation of Webstart.
    1st as webserver based solution with only Basic versioning. (This works, that I know for sure :)
    Later on as versioned-download using .WAR deployment.
    Dave,
    I don't have my web.xml here, but yes both .jnlp as /app/ are mapped to the jnlpDownloadServlet. That part of it works. (When doing the app server test that is; no servlet is used in the standalone test).
    Anyway, thanks again for your comments.
    If nothing else they at least made me get my thoughts a bit more straight :)
    Anne.

  • Version Based Downloading w/JBoss Missing Version Field....

    Here we go again, version based downloading difficulties.
    I cannot get version based downloading to work using the version.xml file or using file based versioning.
    My environment is
    JBoss 4.0.3 SP1 (whatever version of tomcat container this contains)
    JRE 1.5.0_06
    I have a .ear file which contains a .war file which contains the appropriate folder format and loose application jars, html, jnlp, etc., as described in the "Packaging JNLP Applications in a Web Archive" document.
    My web.xml file looks like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
      <display-name>TotalZilla</display-name>
      <description> TotalVU application </description>
       <servlet>
          <servlet-name>JnlpDownloadServlet</servlet-name>
          <servlet-class>jnlp.sample.servlet.JnlpDownloadServlet</servlet-class>
               <init-param>
                  <param-name>logLevel</param-name>
                  <param-value>DEBUG</param-value>
               </init-param>
               <init-param>
                  <param-name>logPath</param-name>
                  <param-value>jnlpdownloadservlet.log</param-value>
               </init-param>     
       </servlet>
          <servlet-mapping>
         <servlet-name>JnlpDownloadServlet</servlet-name>
         <url-pattern>*.jnlp</url-pattern>
       </servlet-mapping>
      </web-app>
    ]NOTE: changing the <url-pattern> value to anything but *.jnlp causes JBoss to throw an exception during application deployment[i]
    My version.xml file looks like this:
    I believe this to be the culprit but I am at a loss as to why.
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp-versions>
          <resource>
             <pattern>
               <name>utilities.jar</name>
                <version-id>1.0</version-id>
             </pattern>
             <file>utilities.jar</file>
          </resource>
          <resource>
             <pattern>
               <name>totalvu.jar</name>
                <version-id>2.0</version-id>
             </pattern>
             <file>totalvu.jar</file>
          </resource>     
          <resource>
             <pattern>
               <name>images.jar</name>
                <version-id>1.0</version-id>
             </pattern>
             <file>images.jar</file>
          </resource>      
          <resource>
             <pattern>
               <name>common.jar</name>
                <version-id>1.0</version-id>
             </pattern>
             <file>common.jar</file>
          </resource>     
       </jnlp-versions>
    My jnlp file looks like this:
    <?xml version="1.0" encoding="utf-8"?>
    <jnlp
      spec="1.0+"
      codebase="$$codebase"
      href="$$name" context="$$context">
      <information>
        <title>Total VU Application</title>
        <vendor>Perimeter Aquisition Corp.</vendor>
        <homepage href="docs/totalvu.html"/>
        <description>TotalVU application from Perimeter</description>
        <description kind="short">The perfect application.</description>
        <offline-allowed/>
         <shortcut online="false">
          <desktop/>
          <menu submenu="Perimeter - TotalVU"/>
        </shortcut>
      </information>
       <security>
          <all-permissions/>
      </security>
      <resources>
         <j2se version="1.5.0+"/>
        <jar href="totalvu.jar" version="1.0+"/>
        <jar href="utilities.jar" version="1.0"/>
        <jar href="common.jar" version="1.0"/>
        <jar href="images.jar" version="1.0"/>
        <jar href="jlfgr-1_0.jar"/>
        <jar href="jboss-j2ee.jar"/>  
        <jar href="jnpserver.jar"/>
        <jar href="jboss-common-client.jar"/>
        <jar href="jbossmq.jar"/>
        <jar href="concurrent.jar"/>
        <jar href="swing-worker.jar"/>
        <jar href="log4j.jar"/>   
        <extension name="Sun Signed Jars" href="sunsignedjars.jnlp"/>
      </resources>
      <application-desc main-class="com.perimeter.totalvu.framework.TotalVU"/>
    </jnlp>
    The other jnlp file (temporary) which contains a version of activation.jar signed by sun looks like this:
    <?xml version="1.0" encoding="utf-8"?>
        <jnlp spec="1.0+"
          codebase="$$codebase"
          href="$$name"
          context="$$context">
        <information>
            <title>SunSignedJars</title>
            <vendor>Sun Microsystems, Inc.</vendor>
            <description>Jars signed by Sun Microsystems</description>
        </information>
        <security>
          <all-permissions/>
        </security>
        <resources>
            <jar href="activation.jar"/>
        </resources>
       <component-desc>
       </component-desc>
    </jnlp>
    My war file (which is in an ear file) has this format:
    META-INF\MANIFEST.MF
    WEB-INF\lib\jnlp-servlet.jar
    WEB-INF\lib\jardiff.jar
    WEB-INF\lib\jnlp.jar
    version.xml
    *.jar
    *.jnlp
    *.html
    This configuration spits out the famous "Missing version field from server....." that I have seen many times in this forum. The download servlet is getting executed because I am getting a log file generated every time. Debug is the only value that will put out a log. The log output looks like this:
    JnlpDownloadServlet(3): Request: /totalvu/totalvu.jnlp
    JnlpDownloadServlet(3): User-Agent: JNLP/1.5 javaws/1.5.0_06 (b05) J2SE/1.5.0_06
    JnlpDownloadServlet(4): DownloadRequest[path=/totalvu.jnlp isPlatformRequest=false]
    JnlpDownloadServlet(4): Basic Protocol lookup
    JnlpDownloadServlet(4): JnlpResource: JnlpResource[WAR Path: /totalvu.jnlp lastModified=Mon Dec 05 11:17:46 EST 2005]]
    JnlpDownloadServlet(3): Resource returned: /totalvu.jnlp
    JnlpDownloadServlet(4): SupportQuery in Href: true
    JnlpDownloadServlet(4): lastModified: 1133799466000 Mon Dec 05 11:17:46 EST 2005
    JnlpDownloadServlet(3): Request: /totalvu/sunsignedjars.jnlp
    JnlpDownloadServlet(3): User-Agent: JNLP/1.5 javaws/1.5.0_06 (b05) J2SE/1.5.0_06
    JnlpDownloadServlet(4): DownloadRequest[path=/sunsignedjars.jnlp isPlatformRequest=false]
    JnlpDownloadServlet(4): Basic Protocol lookup
    JnlpDownloadServlet(4): JnlpResource: JnlpResource[WAR Path: /sunsignedjars.jnlp lastModified=Mon Dec 05 10:00:20 EST 2005]]
    JnlpDownloadServlet(3): Resource returned: /sunsignedjars.jnlp
    JnlpDownloadServlet(4): SupportQuery in Href: true
    JnlpDownloadServlet(4): lastModified: 1133794820000 Mon Dec 05 10:00:20 EST 2005If I remove the version= tag from the main jnlp file, everything loads fine, but there is no versioning. I have also tried to remove the version.xml file from the package and change my jar files to use file based versioning, but that didn't work either. I rebuilt my jar files with the __V1.0 extension and the complaint was that it couldn't load the resource totalvu.jar. Well, ya, it is now named totalvu__V1.0.jar! Again, versioning is being ignored. The double underscore and V was not recognized as anything special.
    The servlet is running long enough to spit out a log file, no errors. It looks like it succesfully processed the jnlp files, but there is no indication of any versioning.
    Doe the jnlp.jar and jardiff.jar files need to be included in the lib folder in the .war file? I am only including the jnlp-servlet.jar. They were not referenced in the example war file in the documentation, but I have seen them referenced in older doc for other app servers. I did try including them, but it made no difference of course. Guess this question is just a housekeeping question.
    Does anyone have any insight on this problem?
    I am at the point where I think I would like to get the source and debug through it to see what is going on, but that should be unecessary.

    Thanks. I had the same problem.
    As danrak suggests, just add this to your web.xml file to parse .jar and/or .zip file extensions:
    <servlet-mapping>
    <servlet-name>JnlpDownloadServlet</servlet-name>
    <url-pattern>*.zip</url-pattern>
    </servlet-mapping>          
    <servlet-mapping>
    <servlet-name>JnlpDownloadServlet</servlet-name>
    <url-pattern>*.jar</url-pattern>
    </servlet-mapping>

  • CD-Install and version based download protocol

    I am trying to create a cd-install for an app. using the -import -codebase features
    of javaws. This works as long as I do not have any version information within the
    cd based jnlp and the resources.
    If a specify a version with a resource (e.g. a jar) I get the following exception from
    javaws:
    java.io.FileNotFoundException: c:\cd\spirit_core_client.jar?version-id=0.4.5.0 (Die Syntax f�r den Dateinamen, Verzeichnisnamen oder die Datentr�gerbezeichnung ist falsch)
         at java.io.FileInputStream.open(Native Method)
         at java.io.FileInputStream.<init>(Unknown Source)
         at java.io.FileInputStream.<init>(Unknown Source)
         at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
         at com.sun.javaws.net.BasicNetworkLayer.doRequest(Unknown Source)
         at com.sun.javaws.net.BasicNetworkLayer.doHeadRequest(Unknown Source)
         at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
         at com.sun.javaws.cache.DownloadProtocol.getDownloadSize(Unknown Source)
         at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source)
         at com.sun.javaws.LaunchDownload.downloadEagerorAll(Unknown Source)
         at com.sun.javaws.Launcher.downloadResources(Unknown Source)
         at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
         at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
         at com.sun.javaws.Launcher.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    It seems that javaws tries to do a file request with a url query string for the version.
    This will work with the JnlpDownloadServlet but not for a file request.
    What do I have to do?
    If I can not specify version information wouldn�t that make the differential (JarDiff)
    download impossible? Or can I than only use a timestamp (last-modified) based
    download?

    I filed a bug ion this. The CD install is implemented by substituting codebases, if the new codebase dosn't implement the version based download protocol, import won't work. The file protocol used when importing from CD cannot implement this. There should be a simple convension to allow versioned requests from file protocols to assume the response-version is equal to the request version (assuming no wildcarding is uded in the request-version).
    /Andy

  • Update prompt not working with version based download

    Hello All,
    I have a JWS application and it is deployed on my local server. I want my users to get the Update prompt ( There is an optional update, Do you download it ) when ever there is an update and I am using the version based download(version.xml) while updating my application(Jardiff). The problem here is when i change the version number from 1.1 to 1.2 in the jnlp on the server. (EX: <jar href="application.jar" version="1.2" main="true"/> ) . When the user starts the application from desktop shortcut the Jardiff gets downloaded and patched but there is no update prompt.
    The problem here is the JNLP gets refreshed and even though i have the policy = "prompt-update" in update tag( <update check="timeout" policy="prompt-update"> ), i am not getting the update prompt. The update prompt works fine in basic download.
    I am facing this problem from quite a long time. I hope some one has got an answer for this.
    Thanks and regards,
    Anjali

    Hello Andrew,
    Thanks for ur reply.
    This is the JNLP file and version.xml, which i am using: ( I am using the JNLPDownloadServlet)
    launch.jnlp:
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN">
    <jnlp spec="6.0+" codebase="$$codebase" href="$$name">
    <information>
            <title>Dummy Product </title>
            <vendor>Dummy Product</vendor>
         <icon kind="shortcut" href="images/image.gif"/>
         <icon kind="splash" href="images/splash.png"/>
            <homepage href="$$context"/>
            <description kind="one-line">Dummy Product</description>
            <offline-allowed/>
         <shortcut online="true">
              <!-- create desktop shortcut -->
              <desktop/>
              <menu submenu="Dummy -product"/>
         </shortcut>
    </information>
    <update check="background" policy="prompt-update"/>
       <security>
        <all-permissions/>
       </security>
       <resources>     
            <java version="1.6+" />
         <java href="http://java.sun.com/products/autodl/javase" version="1.6+"/>
            <jar href="applicationV.jar"  main="true" download="eager" version="1.1"/>
         <jar href="abc.jar"  download="eager"/>
         <jar href="cab.jar"  download="eager"/>
         <jar href="app.jar" download="eager"/>
         <jar href="app1.jar"  download="eager"/>
         <jar href="app2.jar"  download="eager"/>
         <nativelib href="app3.jar" download="eager"/>     
       </resources>
       <application-desc main-class="Mainfile">
         <argument>arg1</argument>
         <argument>arg2</argument>
       </application-desc>
    </jnlp>
    version.xml:
    <jnlp-versions>  
             <resource>
                 <pattern>
                    <name>applicationV.jar</name>
                    <version-id>1.1</version-id>
                 </pattern>
                 <file>application-01_00-us.jar</file>
             </resource>
         <resource>
                  <pattern>
                    <name>applicationV.jar</name>
                    <version-id>1.2</version-id>
                 </pattern>
                 <file>application-02_00-us.jar</file>
             </resource>
    </jnlp-versions>
             Thanks for the support.
    Anjlai

  • Version Based Download Problems

    Hi All
    Java WebStart is indeed the best java based client installer software ever made. It works really good(even better than Weblogic Zac).
    I started using this software about 1 week back and am really impressed by it. I was previously a great admirer of Weblogic ZAC.
    I was able to download my jars (w/o version id) from the webserver on to my client machine.
    However i have certain problems (confusions) regarding version based downloads.
    1) do i need a version.xml for enabling version based download or will the version tag in the jnlp file will solve the purpose.
    2) Is there any naming convention for the jar file ex: abc_V1.0.jar, abc_V1.1.jar or simply abc.jar.
    If it is abc.jar then how can i put multiple version of the same jar files on the webserver.
    3) How does the jardiff funda works.
    I am listing my jnlp and xml files
    jnlp file:
    <?xml version="1.0" encoding="utf-8"?>
    <!-- JNLP File for REVERA Application -->
    <jnlp spec="1.0+" codebase="$$codebase">
    <information>
    <title>REVERA</title>
    <vendor>Kale Consultants Ltd.</vendor>
    <homepage href="../index.html"/>
    <description>REVERA 7.0</description>
    <description kind="short"></description>
    <icon href="images/REVERALOGO.gif"/>
    <offline-allowed/>
    </information>
    <security>
    <all-permissions/>
    </security>
    <resources>
    <j2se version="1.3"/>
    <jar href="revera.jar" main="true" download="eager"/>
    <jar href="lib/UILibrary.jar" download="eager"/>
    <jar href="lib/jacob.jar" download="lazy"/>
    <jar href="lib/jaxp.jar" download="lazy"/>
    <jar href="lib/crimson.jar" download="lazy"/>
    <jar href="lib/xalan.jar" download="lazy"/>
    <jar href="lib/jh.jar" part="javahelp" download="lazy"/>
    <jar href="lib/jboss.jar" download="lazy"/>
    <jar href="lib/jboss-j2ee.jar" download="lazy"/>
    <jar href="lib/jnp-client.jar" download="lazy"/>
    <jar href="lib/jboss-client.jar" download="lazy"/>
    <jar href="lib/jbossmq-client.jar" download="lazy"/>
    <jar href="lib/log4j.jar" download="lazy"/>
    <jar href="lib/oswego-concurrent.jar" download="lazy"/>
    <jar href="lib/wl.jar" download="lazy"/>
    <jar href="lib/ij.jar" download="lazy"/>
    <jar href="lib/jsse.jar" download="lazy"/>
    <jar href="lib/jcert.jar" download="lazy"/>
    <jar href="lib/jnet.jar" download="lazy"/>
    <jar href="lib/j2ee.jar" download="lazy"/>
    <jar href="lib/jaxb-rt-1.0-ea.jar" download="lazy"/>
    <jar href="lib/jaxb-xjc-1.0-ea.jar" download="lazy"/>
    <jar href="lib/classes12_01.zip" download="lazy"/>
    </resources>
    <application-desc main-class="jpraxisapp.uiservices.common.applicationframework.PraxisApp"/>
    </jnlp>
    version.xml
    <?xml version="1.0"?>
    <jnlp-versions>
    <resource>
    <pattern>
    <name>revera.jar</name>
    <version-id>1.0</version-id>
    </pattern>
    <file>revera.jar</file>
    <pattern>
    <name>UILibrary.jar</name>
    <version-id>1.0</version-id>
    </pattern>
    <file>UILibrary.jar</file>
    </resource>
    </jnlp-versions>
    web.xml
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
    <web-app>
    <servlet>
    <servlet-name>JnlpDownloadServlet</servlet-name>
    <servlet-class>com.sun.javaws.servlet.JnlpDownloadServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>JnlpDownloadServlet</servlet-name>
    <url-pattern>/app/*</url-pattern>
    </servlet-mapping>
    <mime-mapping>
    <extension>jnlp</extension>
    <mime-type>application/x-java-jnlp-file</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>jardiff</extension>
    <mime-type>application/x-java-archive-diff</mime-type>
    </mime-mapping>
    </web-app>
    Thanks :-)
    Robin Paul

    In order to use the version based protocol, you need to run a servlet on the web-server (such as
    the JNLPDownloadServlet included in the developers pack. The naming convension is then up
    to the servlet. The JNLPDownloadServlet uses the abc_V1.0.jar convension, and also
    generates jardiff files dynamically.
    /Andy

  • Version based download problems on commercial deployment

    Hi,
    Now I'm no IT donkey but this is really annoying. We're a small startup company specialising in Java development for mapping applications (GIS). We've chosen Java Web Start as a means of deploying our product (yes a commercial implementation). When we first used Web Start our test deployments worked great, so we shelved things until later. Now we're about to hit the streets we need to use the version based download, we assumed this would just be a simple addition to the jnlp file plus the addition of version.xml ... wrong, I've now had 3 consecutive days trying to find a solution, no luck, even after reading over 400 forum pages with 'version' in them!!! If I take the version tag off its works!! I've also tried using viewer__V1.0.jar still the same.
    We we're due to send out beta version to a number of select customers yesterday, but unfortunately we cannot get the Web Start working with version based download, so we can't. As we're a small company we have a lot resting on this deployment and we really need some help. Here's all the details if anybody can help I'd be very very grateful.
    Thanks in advance
    Ian
    =======================
    Snowflake Software Ltd
    tel : +44 (0) 23 8030 2036
    http://www.snowflakesoft.co.uk
    =======================
    Our application, if both obsfucated and digitally signed
    My development machine runs Windows 2000 sp2, sdk1.3, and Tomcat 3.3 (I've tried 3.2* same results)
    Directory structure on Tomcat
    our webapp is called viewer this contains
    index.htm
    /app/version.xml
    /app/viewer.jnlp
    /app/viewer.jar
    /WEB-INF/web.xml
    /WEB-INF/lib/jnlp-servlet
    /WEB-INF/lib/jaxp.jar
    /WEB-INF/lib/parser.jar
    viewer.jnlp is
    TS: 2001-11-22 12:28:05
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp spec="1.0+" codebase="$$codebase" href="$$name">
    <information>
    <title>Snowflake Map Viewer</title>
    <vendor>Snowflake Software Ltd.</vendor>
    <description>A Java based map viewer</description>
    <homepage href="http://www.snowflakesoft.co.uk"/>
    </information>
    <security>
    <all-permissions/>
    </security>
    <resources>
    <j2se version="1.3+" />
    <jar href="viewer.jar" version="1.0"/>
    </resources>
    <application-desc main-class="uk.co.snowflakesoft.jme.application.Viewer"/>
    </jnlp>
    version.xml is
    <jnlp-versions>
    <resource>
    <pattern>
    <name>viewer.jar</name>
    <version-id>1.0</version-id>
    </pattern>
    <file>viewer.jar</file>
    </resource>
    </jnlp-versions>
    web.xml is
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
    <web-app>
    <servlet>
    <servlet-name>JnlpDownloadServlet</servlet-name>
    <servlet-class>com.sun.javaws.servlet.JnlpDownloadServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>JnlpDownloadServlet</servlet-name>
    <url-pattern>/app/*</url-pattern>
    </servlet-mapping>
    <mime-mapping>
    <extension>jnlp</extension>
    <mime-type>application/x-java-jnlp-file</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>jardiff</extension>
    <mime-type>application/x-java-archive-diff</mime-type>
    </mime-mapping>
    </web-app>
    If you've got this far ... thanks ... any ideas?

    Apologies,
    Its been a long week ... thanks Mathias, the error message / exception would help. Basically if I add the version tag I get the following error and exception. Unfortunately its an 'unknown' error which make things difficult. If I take off the version tag it works
    Error from the General Tab of the Java Web Start -> An error occurred while launching/running the application.
    Title: Snowflake Map Viewer
    Vendor: Snowflake Software Ltd.
    Category: Download Error
    Error Code 99 (Unknown error) returned from server when accessing resource: (http://localhost:8080/viewer/app/viewer.jar, 1.0)
    ExceptionJNLPException[category: Download Error : Exception: null : LaunchDesc: null ]
    at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
    at com.sun.javaws.cache.DownloadProtocol.getDownloadSize(Unknown Source)
    at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source)
    at com.sun.javaws.LaunchDownload.downloadEagerorAll(Unknown Source)
    at com.sun.javaws.Launcher.downloadResources(Unknown Source)
    at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
    at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
    at com.sun.javaws.Launcher.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:484)

  • JNLP file version based update like Jar files version?

    Dear All,
    We are using the JWS from the past one year. Its working fine except one or two issues.
    Here i am explaining one of those issues:
    When user double clicks the icon on his desktop, first the JWS checks for updates. If updates found it will download the updates and starts the application.
    JWS doing the updates checking as:
    First its checking the time stamps of the client and server JNLP files. If server JNLP file time stamp is grater than client JNLP file time stamp, then its checks for each and every jar file update.
    For Jar files update we are using the version based. Our JNLP file is as shown below:
    <jnlp spec="1.0" codebase="$$codebase" href="LaunchMedplexus.jnlp">
    <information>
    <title>CBST</title>
    <vendor>CBST</vendor>
    <description kind="short">CBST</description>
    <icon href="../../../../images/image1.gif" kind="splash"/>
    <icon href="../../../../images/image1.jpg"/>
    <offline-allowed/>
    </information>
    <security>
    <all-permissions/>
    </security>
    <resources>
    <j2se version="1.4" initial-heap-size="48m" max-heap-size="256m"/>
    <jar href="../../../../JARS/AppJars/POMS/admin/admin.jar"      version="7.7.0.0" />
    <jar href="../../../../JARS/AppJars/POMS/billing/bil_adj.jar"      version="7.7.0.0" />
    </resources>
    <application-desc main-class="com.test.security.Login">      
    </application-desc>
    </jnlp>
    we are facing the problems because JWS updates checking is based on the JNLP file time stamp.
    is there is any way in JWS to check the updates based on JNLP file version instead of timestamp (like jars version based)?
    Our Environment is :
    JRE : 1.4.2_10
    OS : Windows 2000/XP
    thanks in adavance
    Krishna Mohan.

    Dear Andy,
    Thank You for your reply.
    perhaps you can use a simple jnlp file that referre to almost all of the application using a versioned jnlp component extension.can you explain this line little more elaborately.
    thanks in advance
    km

  • Webstart version-based download error

    Hi guys,
    Are there known bugs in Sun's JnlpDownServlet? After installing the JNLP developer pack and configuring the directories in how Sun suggested in http://java.sun.com/products/javawebstart/docs/downloadservletguide.html (but using exploded directory structure instead of a WAR file since I am still in development), I keep getting "Missing version field in response from server when accessing resource: (http://localhost:8080/myApp/foo.jar, 1.1)" for <jar href="foo.jar" version="1.1"/> in foo.jnlp,
    but if I don't use version-based as in <jar href="foo.jar" /> the application is downloaded launched properly.
    What am I missing? Please help..

    JayP,
    I've had this error before when there was a mistake in my JNLP on how I specified the jar name and the version.
    Why don't you post your JNLP so we can take a look.

  • Anybody got version-DL working with war files

    Since deploying a war overwrites the previous version, I guess you need to include the old and updated jars inside the war. Anyway, I still get errors trying to do the jardiff (Could not locate requested version).
    If someone could post a version.xml, .jnlp file and the output of a war file when a version update is to be downloaded, that would be great. I haven't tried it, but I suspect that will work. I'm using Tomcat 5.0.
    Thanks,

    I got this working. The problem was the webpad demo was coded for pre-1.5.0 jnlpdownload servlet (I guess that is why it is called beta...). I changed the code to use the 1.5 jnlpdownloadservlet and used that jnlp-servlet.jar and it worked. The errors are mysterious because you get Jardiff failed without any explanation. If you mess up the versioning (which I did to at one point) at least the servlet throws a big stacktrace and an error code/message.
    If anyone has this problem and needs a prototype, I can be reached at [email protected]

  • I need you help ?how to make version based download

    Could you please send me a very basic war file that work with the version protocol ?
    I'd never been able to make it work ?
    Thanks !!
    mailto:[email protected]

    Well, I don't use WARs but here is an example that works:
    http://www.ScheduleWorld.com/sw/ScheduleWorld.jnlp

  • JWS  version based Download

    Why does JWS return "missing version field in server-answer by access of the resource" error, when I specify the rigth version-id of the jar archiv in the JNLP file.

    Did you setup the version.xml file correctly? You need to have entry for each resource in that file unless you use the naming convention described in the manual. Anyway, you can se a working example here: http://www.geocities.com/michaelyaakoby/Stylepad.zip
    But note that somehow its much slower than without version (I'm in the process of posting a question myself)

  • Question about version based downloads

    How does the jnlp-servlet know where different versions of a jar are? Does it look through the entire web directory for version.xml files and keeps a list? I am asking because I don't really understand what steps would be involved when I needed to create an update to my application that was previously deployed with jnlp.
    If someone could just explain how they would setup an update using the following scenario. I have an application with two jar files (one.jar and two.jar). There is a new release of my software and only the two.jar had changes. What would my old jnlp file look like and what would the new jnlp file look like? What would the directory structure look like now that I need to maintain the old two.jar around for incremental updating (i.e. jarDiff)?
    Lance

    see:
    http://java.sun.com/products/javawebstart/1.2/docs/downloadservletguide.html
    if all resources are the for the same os, arch, and locale, you would put them on the web as
    <codebase>/one__V1.0.jar
    <codebase>/two__V1.0.jar
    <codebase>/two__V1.1.jar
    old jnlp file would have:
    <jar href="one.jar" version-id="1.0"/>
    <jar href="two.jar" version-id="1.0"/>
    updated version jnlp file would have:
    <jar href="one.jar" version-id="1.0"/>
    <jar href="two.jar" version-id="1.1"/>
    /dietz

Maybe you are looking for

  • MBP + Mini DisplayPort to Dual-Link DVI Adapter + 30" = blue flickering

    Hi everyone, I was wondering if anyone has found a solution to this problem? I use an Apple 30" Cinema Display and it worked fine with my Late 2007 MBP. Now I got a new Core i7 MBP and the Mini DisplayPort to Dual-Link DVI Adapter. At first all works

  • How to deploy java class as a service in weblogic

    All,   I have a java class which polls on a mailbox. I want deploy this class as a service in weblogic so that when the service is started it should continuously poll the mail box untill the service is stopped. Its working as a standalone component,

  • Hierarchy Change:Modified Version

    Hi, Im trying to relocate Dallas into a different region with the same sales person. But when I do, the system is telling me that "node Sam already exsists" i have defined the dates of the closing of the office in the change node. What can I do to ac

  • I can see the thumbnail in "my videos" on iTunes, but cannot locate the file - what gives?

    I'm using the latest version of iTunes on my Mac (OS X 10.9.5) - I can see the thumbnail of the video I want to play in iTunes, my videos, but it won't play because "original file could not be found".  What gives?  I never delete anything, backing ev

  • SAP Quickviewer

    Dear All, I have created a SAP query in quick viewer. I need to know whether any user other than me can use this query ? I know that this can be achieved by SQ01, SQ02 and SQ03 by creating user group and assigning users to that group. But i want to k