Pregunta

Tengo un problema modernización de una aplicación Java Web Start bajo Java 6 u 13 (la última en este momento)

Deseamos utilizar el nuevo mecanismo para tener archivos de configuración maestro varios cada uno con su propia configuración, que luego "incluir" otro archivo jnlp que se genera automáticamente para garantizar que la lista frasco es exacta. Después de un poco de hurgar he hecho el trabajo, excepto por el hecho de que las propiedades definidas en el archivo maestro no está disponible para el programa cuando se invoca principal.

El JNLP principal se parece a (anónimo):

<jnlp>
  <information>
    <title>...</title>
    <vendor>...</vendor>
    <description>...</description>
    <description kind="short">...</description>
    <homepage href="http://....jnlp"/>
    <icon href="http://....gif"/>
    <!--          <offline-allowed/> -->
  </information>
  <security>
    <all-permissions/>
  </security>
  <resources>
    <j2se version="1.6+"/>
    <extension href="http://...extension.jnlp" />

    <property name="server.name" value="SERVER"/>
  </resources>
  <application-desc main-class="Main"/>
</jnlp>

y el extension.jnlp se ve así:

<!-- Generated automatically.  Do not edit! -->
<jnlp>
  <information>
    <title>extension built 2009-04-22 12:39:58 CEST</title>
    <vendor>...</vendor>
  </information>
  <security><all-permissions/></security>
  <resources>
    <jar href="A.jar" />
    <jar href="B.jar" />
    <jar href="logback-classic-0.9.14.jar" />
    <jar href="logback-core-0.9.14.jar" />
    <jar href="slf4j-api-1.5.6.jar" />
  </resources>
  <component-desc />
</jnlp>

He intentado poner el proprty en el extension.jnlp también. No ayudó. La JVM se reutiliza y no relanzado de acuerdo con el registro en la consola de Java Plug-in.

¿Alguna sugerencia?

¿Fue útil?

Solución 2

A partir de la experimentación he encontrado que las propiedades definidas en archivos de extensión están bajo reglas mucho más estrictas que las que están en el archivo principal jnlp, y aquellos que no se ajusten a las normas son descartados en silencio.

Otros consejos

He tenido problemas con el mismo problema.
Cuando me mudé a un elemento de <property> jnlp extensión entonces disponible para la aplicación mediante System.getProperty().

Pero no es una solución para mí, ya que quería tener jnlp extensión con todos los frascos y las propiedades y definido en un jnlp mastet.

Parece que,

  

Para una aplicación no fiable, las propiedades del sistema establecidos en el archivo JNLP sólo serán fijadas por Java Web Start si se consideran seguras.

Si se quiere pasar propiedades propias de la máquina virtual, a continuación, sus nombres tienen que empezar javaws. o jnlp.. Tales propiedades se consideran como seguro. El elemento <property> tiene que contener atributo value, por ejemplo.

<property name="jnlp.my.property" value="a value" />

Enlaces:

  1. http: // docs. oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html#resources
  2. http://docs.oracle.com/javase/tutorial/ implementación / doingMoreWithRIA / settingArgsProperties.html
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top