United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6680615 java web start cannot launch/import component-desc jnlp file
6680615 : java web start cannot launch/import component-desc jnlp file

Details
Type:
Bug
Submit Date:
2008-03-26
Status:
Closed
Updated Date:
2010-09-17
Project Name:
JDK
Resolved Date:
2008-04-03
Component:
deploy
OS:
generic
Sub-Component:
webstart
CPU:
generic
Priority:
P1
Resolution:
Fixed
Affected Versions:
6u10
Fixed Versions:
6u10

Related Reports
Backport:

Sub Tasks

Description
javaws -import http://nicole1.sfbay.sun.com:8080/JavawsMustangIntegTest/cacheViewer/CacheViewer_Library.jnlp

or 

javaws http://nicole1.sfbay.sun.com:8080/JavawsMustangIntegTest/cacheViewer/CacheViewer_Library.jnlp

both fail with:

java.lang.Exception: Internal Error: Internal error, no JREDesc and no JREInfo
	at com.sun.javaws.Launcher.prepareLaunchFile(Launcher.java:400)
	at com.sun.javaws.Launcher.prepareToLaunch(Launcher.java:198)
	at com.sun.javaws.Launcher.launch(Launcher.java:111)
	at com.sun.javaws.Main.launchApp(Main.java:306)
	at com.sun.javaws.Main.continueInSecureThread(Main.java:210)
	at com.sun.javaws.Main$1.run(Main.java:107)
	at java.lang.Thread.run(Unknown Source)

                                    

Comments
SUGGESTED FIX

The root cause was my misconception, where I assumed component-desc cannot be launched,
and that having a JREDesc is mandatory.

The truth is, JREDesc's are optional for any launch type,
which wasn't even the case in the b13 implementation.
That's why I was confused.

Thanks to Andy's clarification,
DefaultMatchJRE now uses a default JREDesc with VersionID '0+',
when starting the traversal.
This ensures we have the default minimum selection 0+,
which means any JRE.

I used this opportunity to clarify LaunchSelection's selectJRE,
i.e. made it protected and moved both, LaunchSelection and DefaultMatchJRE into
the sub-packge 'jnl', where it semantically belongs.
To select a JRE, we always have to call LaunchDesc.selectJRE().

This fixes this CR, plus:
    - allows any JNLP files without a JREDesc

+++

testcase: http://j2se.east.sun.com/deployment/www/tests/1.6.0_10/6680615/
                                     
2008-03-27
EVALUATION

component-desc is not required to have JREDesc.

when invoking javaws on a jnlp file with component-desc, the behaviour should be the same as "javaws -import".  we should just download the JARs and exit.
                                     
2008-03-26



Hardware and Software, Engineered to Work Together