Jest poprawne podanie codebase tak:JNLP z lokalną bazą kodów - jak zaktualizować?
<jnlp spec="6.0+"
codebase="file:/c:/MyApp/"
href="myapp.jnlp">
Podczas importu to z JWS tworzy skrót na pulpicie, a aplikacja działa.
Jednak jedna rzecz bardzo różni się od zdalnego kodu. Kiedy aktualizuję te pliki, gdy aplikacja jest uruchomiona, zasadniczo przestaje działać pod wodą z ClassNotFoundExceptions
. Wygląda na to, że JWS nie skopiował słoików lub natychmiast je skopiował, ponieważ zostały one w jakiś sposób nadpisane, zastępując te używane przez uruchomiony proces.
Jak mogę sprawić, aby działało tak, jakby pliki były zdalne? To znaczy, kopiuj pliki do pamięci podręcznej i sprawdzaj tylko aktualizacje po uruchomieniu.
EDYTOWANIE: Nie znalazłem sposobu, aby to zrobić i zdecydowałem się na zamianę homebrew. Po drodze znalazłem kilka błędów i zrobiłem kilka obserwacji, które podsumowałem na http://squirrel.pl/blog/2011/11/24/java-web-start-bugs-offline-edition/. Umieszczanie go tutaj, na wypadek, gdyby mogło być dla kogoś użyteczne.
Jaki problem próbujesz rozwiązać za pomocą lokalnej bazy kodów? –
To poza tym, ale: poleganie na powolnych i delikatnych aktualizacjach internetowych i wykorzystanie naszego istniejącego systemu do pompowania wszelkiego rodzaju plików, instalacji, aktualizacji itp. W celu wybrania komputerów. –
"delikatne aktualizacje internetowe". Wystarczy upewnić się, że jeśli plik jest aktualizowany, otrzymuje nowy adres URL i odpowiednio aktualizuje plik JNLP. –