Существуют различные стратегии достижения желаемой цели. Я не буду возвращаться к тем, о которых уже упоминалось, но вместо этого изложил еще несколько.
1) Информация может быть помещена в манифесте архива. Он может быть получен с использованием методов класса java.lang.Package.
String title = pckg.getImplementationTitle();
String vendor = pckg.getImplementationVendor();
String version = pckg.getImplementationVersion();
класс Пакет также имеет возможность идентифицировать все загружены пакеты.
Package[] package = Package.getPackages();
Итерации, которые ищут ваши пакеты, и вы можете получить список всех загруженных пакетов.
Самый лучший способ поместить информацию в манифесты - это использовать Ant или аналогичный инструмент сборки. Таким образом, версия может быть установлена на дату - легко сделать.
2) Добавить свойство в раздел ресурсов JNLP.
<resources>
..
<property name="jnlp.href" value="${href}" />
..
</resources>
BTW - это использование ${href}
означает ту же самую строку, используемую в качестве атрибута HREF JNLP.
Используйте метод BasicService.getCodeBase() для получения кода. Сформировать URL в файл JNLP, используя ..
URL urlToJnlp = new URL(
basicService.getCodeBase(),
System.getProperty("jnlp.href"));
Загрузите файл JNLP и разобрать его, используя один из множества XML API, в J2SE. (И если он не загружается в XML-интерфейсах J2SE, он сильно указывает, что он недействителен или искажен - и его необходимо проверить с помощью такого инструмента, как JaNeLA.)
После того, как он загружен и проанализирован, основная информация можно получить &.
По какой-либо причине вы не можете испечь это в приложении вместе с JNLP-файлом и взять его оттуда? –