Как включить внешнюю конфигурацию для приложения webstart

StackOverflow https://stackoverflow.com/questions/1474068

Вопрос

У меня есть приложение webstart, которому требуется внешняя настройка.Конфигурация должна быть внешней, поскольку она будет изменена нашим заказчиком вручную.Я подумывал о добавлении еще одного jar с такой конфигурацией.Заявка подписана, и передача наших ключей клиенту не является вариантом.Я склоняюсь к тому, чтобы сделать этот файл доступным с веб-сервера.

Как восстановить URL-адрес кодовой базы из приложения webstart внутри или есть ли способ настроить jnlp-файл webstart для добавления другого файла, кроме jar, в classpath?

Я использую maven для полной сборки, если это подсказка.

Любые другие идеи приемлемы.

Это было полезно?

Решение

Вы можете получить кодовую базу с помощью BasicService.getCodeBase.

Другие советы

Вы можете использовать API настроек Java для хранения внешних конфигурационных данных.Это будет локально для компьютера persons.В Windows он использует реестр, в Unix is использует классические файлы ".xyz".

Лучше всего было бы иметь в своем приложении какой-нибудь пользовательский интерфейс для управления этой конфигурацией (отправлять пользователей в RegEdit на самом деле не очень приятно), но это не обязательно должно быть чем-то великолепным.Редактор пары Имя / Значение сделает свое дело.И используйте разумные значения по умолчанию для запуска "неконфигурированного" приложения.

Если вы используете JNLP Загрузить Сервлет вы можете передать макрос codebase $$ в свое приложение в качестве системного свойства, и это предоставит доступ к URL-адресу codebase.

В нашем приложении webstart конфигурация сохраняется на сервере с использованием SQL, но это может быть немного тяжеловесно для ваших нужд.

Ознакомьтесь со ссылкой на синтаксис jnlp здесь:http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/syntax.html

Важным элементом для вас является тег "Ресурсы":

<resources>
  <j2se version="1.4.2+" java-vm-args="-esa -Xnoclassgc"/>
  <jar href="lib/SwingSet2.jar"/>
</resources>

В приведенном выше примере SwingSet2.jar добавляется в classpath.Нужно больше банок в classpath?Добавьте еще один ресурс jar

<resources>
 <j2se version="1.4.2+" java-vm-args="-esa -Xnoclassgc"/>
 <jar href="lib/SwingSet2.jar"/>
 <jar href="lib/SwingSetSupplment.jar"/>
</resources>

У меня была точно такая же проблема с codebase.В итоге я использовал JnlpServlet (вам придется погуглить это..Я могу опубликовать только одну гиперссылку : ( ), чтобы автоматически включать правильную кодовую базу при отправке файла jnlp, затем добавить

<property name="app.codebase" value="$$codebase"/>

в раздел ресурсов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top