Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 209694

Summary: Equinox webstart launcher ignores interactive login splash handler
Product: [Eclipse Project] Equinox Reporter: Irwin <irwin>
Component: FrameworkAssignee: equinox.framework-inbox <equinox.framework-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: aaron.lfoot, aniefer, christopher.walthers, kazan77777
Version: 3.3.1   
Target Milestone: 3.4 M5   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Irwin CLA 2007-11-13 15:04:30 EST
Build ID: 3.3.1.1

Steps To Reproduce:
1. Create a product with interactive login splash handler
2. Make it run standalone - works fine
3. Make it run through webstart with equinox webstart launcher

The splash and login does not show up


More information:
We have tried pretty much every combination to try to make this work, but failed so far. So we enter this bug report and wonder if anyone actually succeeded in having an interactive login splash with webstart - and is this even supported.

See bug 170257 which may be related.

We use the new equinox webstart launcher

  <application-desc main-class="org.eclipse.equinox.launcher.WebStartMain">
    <argument>-showSplash</argument>
  </application-desc> 

(btw the documentation on the website is wrong regarding the package for this
launcher
http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/java_web_start.htm
)
Comment 1 Andrew Niefer CLA 2008-01-09 14:23:42 EST
Done in HEAD. I can now get a splash screen using webstart.

JNLP file contains:
	<application-desc main-class="org.eclipse.equinox.launcher.WebStartMain">
		<argument>-showsplash</argument>
	</application-desc>

as well as 
<property name="osgi.splashPath" value="platform:/base/plugins/rcp"/>
where "rcp" is the name of my bundle that contains the splash.bmp.

This of course requires the appropriate launcher fragment to be present:
<jar href="plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.100.v20071112.jar"/>

Doc problem is now bug 214795
Comment 2 Andrew Niefer CLA 2009-09-08 14:20:11 EDT
*** Bug 170257 has been marked as a duplicate of this bug. ***
Comment 3 Chris CLA 2011-06-30 12:03:15 EDT
Doesn't work for me with Helios Service Release 2 on Windows 7.


My JNLP file contains the following:

<jnlp spec="6.0+" codebase="http://localhost:8080/my-app/webstart" version="0.0.1-SNAPSHOT" >
<!-- ... -->
  <resources>
    <property name="osgi.splashPath" value="platform:/base/plugins/my_bundle"/>
    <jar href="my_bundle.jar" />
    <jar href="org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar" /"
    <jar href="org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222.jar />
    <!-- ... some more dependencies -->
  </resources>

  <application-desc main-class="org.eclipse.equinox.launcher.WebStartMain">
    <argument>-showsplash</argument>
  </application-desc>

</jnlp>
Comment 4 Aaron L CLA 2012-01-13 11:47:08 EST
This does not work for me either using Eclipse Helios SR2 Build id: 20110218-0911

I have the following included in my main JNLP:

<application-desc main-class="org.eclipse.equinox.launcher.WebStartMain">
   <argument>-showsplash</argument>
</application-desc>

<resources>
   <jar href="plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar"/>

   <extension name="My Feature" href="features/myFeature.jnlp"/>

   <property name="osgi.instance.area" value="@user.home/myApp"/>
   <property name="osgi.install.area" value="@user.home/myApp/osgi"/>
   <property name="osgi.configuration.area" value="@user.home/myApp"/>
   <property name="osgi.splashPath" value="platform:/base/plugins/<my jar that contains splash.bmp>"/>

   <property name="eclipse.product" value="<my product id>"/>
</resources>
Comment 5 Aaron L CLA 2012-11-19 12:51:01 EST
(In reply to comment #4)
> This does not work for me either using Eclipse Helios SR2 Build id:
> 20110218-0911
> 
> I have the following included in my main JNLP:
> 
> <application-desc main-class="org.eclipse.equinox.launcher.WebStartMain">
>    <argument>-showsplash</argument>
> </application-desc>
> 
> <resources>
>    <jar
> href="plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar"/>
> 
>    <extension name="My Feature" href="features/myFeature.jnlp"/>
> 
>    <property name="osgi.instance.area" value="@user.home/myApp"/>
>    <property name="osgi.install.area" value="@user.home/myApp/osgi"/>
>    <property name="osgi.configuration.area" value="@user.home/myApp"/>
>    <property name="osgi.splashPath" value="platform:/base/plugins/<my jar
> that contains splash.bmp>"/>
> 
>    <property name="eclipse.product" value="<my product id>"/>
> </resources>


I was able to get the splash screen to work by specifying the osgi.install.area property in the application's JNLP file.  

However another bug (Eclipse Bug #349834 - @user.home not resolved for osgi.install.area) prevents directing the install area location to be in the user's home directory.  Because of this additional bug, the install area must be hard-coded in the application's JNLP file, which is not acceptable since multiple users (with different local directory structures) will be launching the application from a single JNLP deployed on a remote server.

There is also another related bug (#244330) that would provide the means to set an acceptable default install area if one is not specified.  This would overcome the issue as well.

Without at least one of these bugs fixed, deploying a multi-user RCP/Eclipse based application remotely using Java Web Start becomes clunky and unprofessional.