|
Quick Lists
|
|
Bug ID:
|
4469701
|
|
Votes
|
1
|
|
Synopsis
|
JWS 1.0.1 does not support selecting JDK 1.4 beta
|
|
Category
|
javawebstart:other
|
|
Reported Against
|
1.0.1
|
|
Release Fixed
|
|
|
State
|
11-Closed,
Not a Defect,
bug
|
|
Priority:
|
4-Low
|
|
Related Bugs
|
4470355
|
|
Submit Date
|
13-JUN-2001
|
|
Description
|
The Java Software division would like to publish some demonstrations via Java
Web Start which require JDK 1.4 to be installed. According to the JNLP
specification, if one selects <j2se version="1.4">, that should match the
specification version of a JDK that was previously installed and that JWS knows
about via the application manager. However, JWS 1.0.1 does not match this
version string properly against JDK 1.4 beta or the forthcoming beta refresh and
instead goes to the Sun web site to download JDK 1.4, which fails because JDK
1.4 has not FCSed yet. xxxxx@xxxxx pointed out a workaround, which is
to modify the javaws.cfg file to have it consider the platform version to be
"1.4.0" rather than "1.4.0-beta" or "1.4.0-beta_refresh", and then specify
"1.4.0" in the JNLP file. This works but it is not workable for end users who we
want to convince to start looking at JDK 1.4 while it's in beta.
This is a showstopper for several groups and we request that this bug be
reprioritized to an appropriately high priority by the JWS team and addressed
with a patch release if at all possible.
-----
The attached test case demonstrates that the workaround described in the
evaluation does not work. To reproduce the failure:
1. Untar the attachment
2. Install the "hello" directory into a web server so that its index.html
shows up as "http://localhost:8080/examples/hello/" (or edit the .jnlp
files). This is most easily done by installing Tomcat, running it once
to get the .war files extracted, editing examples/WEB-INF/web.xml to
add the jnlp mime type, putting "hello" in "examples", and restarting
Tomcat.
3. Install either JDK 1.4 from the web or a promoted build, and make sure it
shows up in the JWS launcher panel. Note whether it is 1.4.0-beta or
1.4.0-beta_refresh.
4. Open http://localhost:8080/examples/hello/
5. Click either or both of the appropriate "1.4.0-beta***" or "1.4
1.4.0-beta***" links (*** depending on which of beta or beta refresh is
installed.) JWS will always try to go to the web site and fail to
find a JDK 1.4, never recognizing that a matching JDK version is already
installed. See 140-beta-launch-bug.txt, in the tar file, which contains the
contents of all of the panes in the resulting error dialog.
There is another bug in the launch file on java.sun.com for JDK 1.3 (see
13-launch-file-bug.txt) which will be filed separately. Given that this strongly
looks like a bug in JWS and not in my configuration (have tested this on three
machines), and that this functionality is supposed to work according to the
evaluation, I am upgrading this bug to P1/S1. I will be glad to help verify the
fix if you would like to send me an installer before pushing the fix out to the
main web site.
xxxxx@xxxxx 2001-06-14
---
Verified new workaround; thanks for the quick response. Hope that this will
nonetheless get fixed in the near future.
xxxxx@xxxxx 2001-06-15
|
|
Work Around
|
see evaluation
|
|
Evaluation
|
This is intended behavior - Java Web Start does not consider a non-FCS JRE to match a generic JNLP request for a particular product version. E.g. JNLP requesting "1.4+" will not consider an installed "1.4.0-beta" to match the request.
A JNLP developer can however explicitly specify the platform version (e.g. 1.4.0-beta) in the JNLP, and is furthermore is allowed to specify multiple versions (product or platform). This allows the developer to request a beta
if the FCS version is not available. For example:
<j2se version="1.4 1.4.0-beta_refresh 1.4.0-beta"/>
will make JavaWS look for a FCS 1.4.x first, if there is none, it will look
for 1.4.0-beta_refresh, if that doesn't exist, it will use 1.4.0-beta.
This should give the functionality requested in the description of this report.
- xxxxx@xxxxx 2001-06-14
Sorry, I left something out of the workaround. You have to add a "href"
attribute to the j2se element to get a beta version to match during JRE
selection. E.g. in bug-140-beta-refresh.jnlp:
<j2se version="1.4 1.4.0-beta_refresh"/>
This does not work as we have seen.
<j2se version="1.4 1.4.0-beta_refresh" href="http://java.sun.com/products/autodl/j2se"/>
This will work.
The href attribute tells Java Web Start where to auto-download, in case
it can't find a JRE listed in the version string. The href above is the
default place Java Web Start looks. It's not obvious to me why the default
(or any) autodl location has to be explicitly specified to get this to work.
That part of it certainly seems to be a bug and deserves further investigation.
But since we now have a working workaround I will reset the priority.
- xxxxx@xxxxx 2001-06-15
The autodl location has to be specified because it's part of the JNLP
specification of a j2RE product version. The developer must specify
the product version and autodl location for the product version - this
is by design and not a bug.
The more general issue that Java Web Start will not match a beta JRE
when a platform version is requested, is also by design. The correct
method to request a beta JRE is specified above.
- xxxxx@xxxxx 2001-08-06
|
|
Comments
|
Submitted On 07-JUL-2001
migG
For transparency, I don't understand why the deployers of the JWS Demos page:
http://java.sun.com/products/javawebstart/demos.html
don't simply modify the tag to allow it to work with all configs, including 1.4 beta?
i.e. instead of deploying the SwingSet2 tag as currently configured:
<j2se version="1.3" />
why not just augment it to allow it to work with 1.4 beta as above:
<j2se version="1.4 1.4.0-beta 1.4.0-beta_refresh 1.3+"
href=""http://java.sun.com/products/autodl/j2se"/>
Just to make sure that new JWS users, say those discovering it for the first
time via J2SE 1.4 b, don't have the annoying experience of having the demos crash!!
Cheers,
- Mitch
http://home.istar.ca/~neutron/java.html
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |