Domanda

Ho un problema modernizzazione un'applicazione Java Web Start in Java 6 u 13 (l'ultima in questo momento)

Abbiamo il desiderio di utilizzare il nuovo meccanismo per avere diversi file di configurazione master ciascuno con la propria configurazione, che poi "include" un altro file JNLP che viene generato automaticamente per garantire che l'elenco barattolo è accurato. Dopo un po 'di frugare ho fatto il lavoro, tranne per il fatto che le proprietà definite nel file master non è disponibile per il programma quando viene richiamato principale.

Il JNLP padrone assomiglia (anonimo):

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

e l'extension.jnlp appare come:

<!-- 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>

Ho provato a mettere il proprty nel extension.jnlp troppo. non ha aiutato. La JVM viene riutilizzato e non rilanciato secondo il registro nel plugin Java Console.

Qualche suggerimento?

È stato utile?

Soluzione 2

Da sperimentazione che ho trovato che le proprietà definite nel file di estensione sono sotto regole molto più severe rispetto a quelle nel file JNLP principale, e quelli non conforme alle regole sono scartate silenziosamente.

Altri suggerimenti

ero alle prese con lo stesso problema.
Quando mi sono trasferito elemento <property> a un jnlp estensione allora disponibile per l'applicazione utilizzando System.getProperty().

Ma non è una soluzione per me, come ho voluto avere jnlp prolunga con tutti i barattoli e e le proprietà definite in un jnlp mastet.

Sembra che,

  

Per un'applicazione non attendibile, le proprietà di sistema impostate nel file JNLP verranno definiti solo da Java Web Start se vengono considerati sicuri.

Se si vuole passare propri oggetti da VM, allora i loro nomi devono iniziare con javaws. o jnlp.. Tali proprietà sono considerati sicuri. L'elemento <property> deve contenere attributo value, per esempio.

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

Link:

  1. http: // docs. oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html#resources
  2. http://docs.oracle.com/javase/tutorial/ deployment / doingMoreWithRIA / settingArgsProperties.html
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top