Как обеспечить использование последних версий JAR с приложением JNLP? - PullRequest
3 голосов
/ 05 декабря 2011

У меня есть настольное приложение, и я хочу запустить это приложение с помощью JAVA Web start.Он работает нормально, когда я запускаю его в первый раз с помощью браузера, и он загрузит все jar-файлы, определенные в resources .В следующий раз, когда я запускаю его с помощью JNLP или из браузера, он не будет загружать никакие jar-файлы.Банки, которые используются, приходят из кеша или где-то еще, я не знаю ...

Я хочу, чтобы каждый раз, когда мое приложение запускалось, все банки, определенные в ресурсах, загружались

мой файл jnlp содержит:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="" href="">
    <information>
        <title>example</title>
        <vendor>example</vendor>
    </information>
    <resources>
        <!-- Application Resources -->
        <j2se version="1.5+"
              href="http://java.sun.com/products/autodl/j2se"/>
        <jar href="application.jar" main="true" />
        <jar href="lib/app.jar" />             
    </resources>
    <application-desc main-class="com.application.entry">
  </application-desc>
   <update check="background"/>
   <security>
     <all-permissions/>
   </security>
</jnlp>

Ответы [ 4 ]

5 голосов
/ 05 декабря 2011

Он будет загружать баночки, если появятся их новые версии. Если нет, то нет необходимости скачивать файлы.

1 голос
/ 07 сентября 2016

Три различных контрольных конфига мы можем установить:

  • update check="timeout" policy="always"
    По умолчанию
  • update check="always" policy="always "
    Всегда загружайте ресурсы независимо от каких-либо изменений в ресурсах, например: jar file
  • update check="background " policy="always"
    Позволяет открывать текущий клиент, уже загруженный в кэш, и, если произойдут какие-либо изменения в ресурсах, он начнет загрузку в фоновом режиме. В следующий раз, когда приложение откроется, оно запустится с новой версией.

`

1 голос
/ 07 декабря 2011

Хотя поведение, на которое указывает Эндрю Томпсон , вполне ожидаемо, вы можете изменить политику обновления следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="" href="">
    <information>
        <title>example</title>
        <vendor>example</vendor>
    </information>
    <resources>
        <!-- Application Resources -->
        <j2se version="1.5+"
              href="http://java.sun.com/products/autodl/j2se"/>
        <jar href="application.jar" main="true" />
        <jar href="lib/app.jar" />             
    </resources>
    <application-desc main-class="com.application.entry">
  </application-desc>
   <update check="always" policy="always"/>
   <security>
     <all-permissions/>
   </security>
</jnlp>
0 голосов
/ 20 марта 2013

Да, это точка для решения проблемы.

Решение простое, вы должны внести следующие изменения:

update check="always" policy="always

И это не должно быть в наборе

...