2010-06-09 13 views
8

Tenemos una aplicación java que utiliza Java Web Start. El archivo jnlp está configurado con [j2se version = "1.5+"]. Entonces, si JRE 1.5 y 1.6 están instalados, la aplicación se ejecuta en 1.6.¿Cómo especificar un rango JRE en el archivo jnlp?

Ahora, tenemos requisito en el que la aplicación debe limitarse a funcionar sólo dentro de la gama - JRE 1.5.0_07 JRE 1.5.0_17 través

[versión J2SE = "* 1.5"] no funcionará - lo hará siempre ejecute la aplicación con la última jre de la familia 1.5.

Puedo solicitar una versión exacta del producto incluyendo el atributo href. [versión J2SE = "1.5.0_14" href = "http://java.sun.com/products/autodl/j2se" /]

Pero ¿Cómo se especifica un rango específico de JRE en el archivo de modo jnlp que JWS toma un JRE solo de ese rango? Entonces, si 1.5.0_07, 1.5.0_17 y JRE 6 están instalados, debería ejecutar la aplicación el 1.5.0_17.

¿Hay una buena manera de lograr esto?

+0

Tenga en cuenta que Oracle elimina la función de auto-descarga JRE de Web Start en 2013: [error OpenJDK 8006701] (https://bugs.openjdk.java.net/browse/JDK -8006701). Web Start ahora a menudo (pero no siempre) ignora silenciosamente la especificación de la versión. –

Respuesta

0

No es bonito, pero podría funcionar.

<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" /> 

Rompí la línea para que pueda leerla, pero es una sola línea en el jnlp.

3

Creo que lo que desea es:

<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" /> 

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

El elemento j2se especifica qué Java 2 SE Runtime Environment (JRE) versiones de una aplicación es compatible con los, así como parámetros estándar para la máquina virtual Java. Si se especifican varios JRE , esto indica una lista priorizada de los JRE soportados, con la versión más preferida primero.

También he mirado el Java 6/Java 7, ya que parece que funcionará allí también.

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

Cuestiones relacionadas