JNLP i pliki nie-JAR

0

Witam,
mam taki problemik - z tego co doczytałem to nie ma możliwości załączać do JNLP plików innych jak JAR (np. XML) - jak to obejść, tzn.
robię małą aplikację z dostępem do bazy danych MSSQL, docelowo będzie działać w sieci LAN. Chcę aby działała przy pomocy Java Web Start, żeby uniknąć biegania po stacjach roboczych w przypadku instalacji/aktualizacji. Aplikacja zawiera dodatkowy plik XML, w którym zawarłem konfigurację - namiary na serwer MSSQL, żeby uniknąć ponownej kompilacji w przypadku zmiany parametrów połączenia. Tu pojawił się problem - jak to upchnąć w JNLP, może jako "property" - mogę jakoś ten parametr przekazać do mojego JARa?
Pozdrawiam,
BLuM

0

Ja bym spróbował przekazać te dane za pomocą listy argumentów do funkcji main. Nie robiłem tego, ale w strukturze pliku JNLP jest odpowiedni tag do tego: argument, który jest dzieckiem application-desc. Spróbuj - tutaj masz opisaną strukturę pliku JNLP: http://download.oracle.com/javase/tutorial/deployment/deploymentInDepth/jnlpFileSyntax.html#applicationdesc.

Edit:
Tak się zastanawiam, bo jestem początkujący w Javie i może mój tok myślenia jest błędny. Chodzi mi o to, że okej, nie da się podpiąć do JNLP innych plików niż JAR, ale czy nie możesz tego XMLa z konfiguracją wrzucić do JARa, a potem go modyfikować w razie potrzeby?

1

W JNLP nie mozna miec nie-Jarow, ale zawsze mozesz miec jara ktory ma w srodku tylko plik XML. Tak zreszta dolacza sie DLL do JNLP - pakuje sie je w jary, w ten sposob moga byc podpisane (podpisuje sie jary, czyli wszystkie 'entry' w jarze, i one sa validowane). Juz po sciagnieciu jara tego XML wczytujesz jako zasob z classpath?
JakasKlasa.class.getResourceAsStream('/config.xml')
czy podobnie.

0

Faktycznie.. zupełnie zapomniałem, że niepotrzebnie tego XMLa trzymam na zewnątrz JAR-a - muszę tylko przetestować czy jak ręcznie zmienię zawartość XML-a to nie wpłynie na podpisywanie JAR-ów i czy JNLP się "kapnie", że plik się zmienił i trzeba pobrać nowy.

W między czasie znalazłem jak się odwoływać z aplikacji do parametrów z JNLP:

The property element defines a system property that will be available through the System.getProperty and System.setProperties methods. It has two required attributes: name and value. For example:
<property name="key" value="overwritten"/>

1 użytkowników online, w tym zalogowanych: 0, gości: 1