Pergunta

Eu tenho um problema modernizar um aplicativo Java WebStart no Java 6 u 13 (o mais tardar até este momento)

Queremos usar o novo mecanismo para ter vários configuração mestre arquivos de cada um com a sua própria configuração, que, em seguida, "incluir" outro arquivo jnlp que é gerado automaticamente para garantir que a lista de jarro é preciso. Depois de um pouco de picar Eu fiz-lhe o trabalho, exceto pelo fato de que as propriedades definidas no arquivo mestre não está disponível para o programa quando principal é invocado.

Os olhares mestre JNLP como (anónimos):

<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 os olhares extension.jnlp como:

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

Eu tentei colocar o proprty na extension.jnlp também. Não ajudou. A JVM é reutilizado e não relançou acordo com o registro no Java Plug-in Console.

Todas as sugestões?

Foi útil?

Solução 2

A partir da experimentação Descobri que propriedades definidas em arquivos de extensão estão sob regras mais rigorosas tanto do que as existentes no arquivo jnlp principal, e aqueles que não estão em conformidade com as regras são silenciosamente descartados.

Outras dicas

Eu estava lutando com o mesmo problema.
Quando me mudei elemento <property> a um jnlp extensão então disponível para o aplicativo usando System.getProperty().

Mas não é uma solução para mim como eu queria ter jnlp extensão com todos os frascos e e propriedades definidas em um jnlp mastet.

Parece que,

Para uma aplicação não confiável, propriedades do sistema definidos no arquivo JNLP só vai ser definido por Java Web Start, se eles são considerados seguros.

Se alguém quiser passar próprias propriedades para a máquina virtual, em seguida, seus nomes tem que começar com javaws. ou jnlp.. Tais propriedades são consideradas como seguras. O elemento <property> tem que conter atributo value, por exemplo.

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

Links:

  1. http: // docs. oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html#resources
  2. http://docs.oracle.com/javase/tutorial/ implantação / doingMoreWithRIA / settingArgsProperties.html
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top