2012-03-22 3 views
1

Мне нужно передать динамически сгенерированный параметр (токен) в приложение для веб-запуска. Проблема заключается в том, что, если приложение ранее не кэшировалось JWS, этот параметр не передается. Я попытался передать его так:Java WebStart не видит параметры в первом запуске

<property name="token" value="a3ftBH5vfTZurTzUl378"/> 

и извлечения с помощью System.getProperty("token");, а также передавая основные функции аргументы

<application-desc main-class="com.xxx.MainClass"> 
    <argument>-token a3ftBH5vfTZurTzUl378</argument> 
</application-desc> 

Тот же результат. Очистить кеш -> первый запуск -> токен = нуль. Второй запуск -> token = a3ftBH5vfTZurTzUl378

Я знаю, что такое поведение задокументировано как нормальное относительно заставки, показанного во время запуска приложений JWS, но одинаково для параметров? Это кажется мне совершенно неприемлемым. Любые советы, чтобы обойти это, будут оценены.

+1

Подтвердите JNLP с помощью [JaNeLA] (http://pscode.org/janela/) (как для свойств, так и для времени выполнения). Строго говоря, '' следует разделить на две части, если вы не разделили его на пространство во время выполнения. Если это не устраняет проблему, посмотрите в DB ошибки и поднимите новую, если ее не найти. –

ответ

0

Что вы указали как codebase и href в верхнем элементе?

Первый запуск может использовать загруженный jnlp напрямую, а второй запуск загружает все, что там указано. Это может привести к поведению, которое эти файлы несовместимы.

+0

Насколько я помню, это была проблема, с которой столкнулся мой файл jnlp. Это уже исправлено, но спасибо за ответ, так или иначе. –