2010-06-09 86 views
8

我們有一個使用Java Web Start的Java應用程序。 jnlp文件配置爲[j2se version =「1.5+」]。因此,如果安裝了JRE 1.5和1.6,則應用程序在1.6上運行。如何在jnlp文件中指定JRE範圍?

現在,我們有一定的要求,其中的應用程序應該只限於範圍內運行 - 通過JRE 1.5.0_07 JRE 1.5.0_17

[J2SE版本=「1.5 *」]將無法正常工作 - 它會始終使用1.5系列的最新jre啓動應用程序。

我可以通過包含href屬性來請求確切的產品版本。 [j2se version =「1.5.0_14」href =「http://java.sun.com/products/autodl/j2se」/]

但是,如何在jnlp文件中指定特定範圍的JRE JWS僅從該範圍獲取JRE?因此,如果安裝了1.5.0_07,1.5.0_17和JRE 6,它應該在1.5.0_17上運行應用程序。

有沒有一種很好的方法來實現這個目標?

+0

注意,Oracle移除網頁啓動JRE自動下載功能,在2013年:OpenJDK的錯誤8006701(https://bugs.openjdk.java.net/browse/JDK -8006701)。 Web Start現在經常(但並非總是)默默忽略版本規範。 – 2016-08-06 03:01:59

回答

0

這不太好,但這可能會奏效。

<j2se version="1.5.0_07 1.5.0_08 1.5.0_09 1.5.0_10 1.5.0_11 
1.5.0_12 1.5.0_13 1.5.0_14 1.5.0_15 1.5.0_16 1.5.0_17" /> 

我打破了界限,所以你可以閱讀它,但它是jnlp中的所有行。

3

我想你想要的是:

<j2se version="1.5.0_17" /> 
<j2se version="1.5.0_16" /> 
<j2se version="1.5.0_15" /> 
<j2se version="1.5.0_14" /> 
<j2se version="1.5.0_13" /> 
<j2se version="1.5.0_12" /> 
<j2se version="1.5.0_11" /> 
<j2se version="1.5.0_10" /> 
<j2se version="1.5.0_09" /> 
<j2se version="1.5.0_08" /> 
<j2se version="1.5.0_07" /> 

參見:http://docs.oracle.com/javase/1.5.0/docs/guide/javaws/developersguide/syntax.html#resources

J2SE的元素指定什麼的Java 2 SE運行時環境(JRE)版本的應用程序的支持,以及作爲標準的 參數給Java虛擬機。如果指定了幾個JRE ,則表示支持的JRE的優先級列表 最優先版本。

我也看了看Java 6/Java 7,看起來它也會在那裏工作。

http://docs.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html#resources

http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html#resources