Развертывание проекта удаленно с помощью Java Web Start - PullRequest
3 голосов
/ 31 марта 2011

Я пытаюсь развернуть проект удаленно с помощью веб-запуска Java.Здесь это работает для одного файла JAR.Может кто-нибудь сказать мне, как развернуть это для нескольких файлов JAR и как я использую БД SQLite, который использует sqlite-jni.dll для его выполнения на Windows?Мне нужно включить этот файл в JNLP.

Будем благодарны за любую помощь.

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 31 марта 2011

Поместите нативный в корень подписанного файла Jar и добавьте его к элементу nativelib в JNLP. Поскольку это DLL, убедитесь, что вы добавили ее в специфический для Windows раздел resources.

У вас есть туземцы для Mac. и * nix?


Е.Г.

<?xml version='1.0' encoding='UTF-8' ?>
<jnlp spec='1.0' codebase='http://our.com/lib/' href='our.jnlp'>
    <information>
        <title>Our App.</title>
        <vendor>our.com</vendor>
    </information>
    <security>
        <all-permissions />
    </security>
    <resources>
        <j2se version='1.5+' />
        <jar href='our.jar' main='true' />
        <jar href='sqlite.jar' />
    </resources>
    <!-- Supply the DLL only to windows -->
    <resources os='Windows' >
        <nativelib href='sqlite-jni-windows.jar' />
    </resources>
    <application-desc main-class='com.our.Main' />
</jnlp>

В этом примере все ресурсы должны находиться в http://our.com/lib/.

Нативная (в данном случае DLL) всегда должна находиться в корне файла Jar.


Я также предлагаю JaNeLA , который проверяет правильность файлов JNLP и проверяет работоспособность по многим другим аспектам запуска на основе JWS.

0 голосов
/ 31 марта 2011

В нашем случае мы указываем все необходимые файлы (jar и zip) в нашем файле jnlp. Мы использовали .dll, но они были упакованы с программой, которая уже была установлена ​​в системе. Мы взаимодействовали с этой программой через нашу. Все, что нам нужно, это убедиться, что путь к .dll указан в переменной пути Windows.

Что касается упаковки, мы упаковали все наши файлы jar в файл .war, а затем поместили этот файл .war в файл .ear (не обязательно, но мы это сделали) и развернули его на нашем сервере приложений. Когда мы обновляли версии jar в нашей войне, мы также обновляли номера версий jar в нашем файле .jnlp (а также в используемом нами файле version.xml) и заново развертывали его все. Затем, когда клиент запускается, он проверяет новый файл .jnlp и скачивает нужные файлы.

Это полезно? Правильно ли я понял ваш вопрос?

...