Имам проблем с моето приложение Java Web Start. Имам JavaEE приложение, работещо в контейнер Wildfly 9. Предавам файл със свойства към приложението Web Start, който съдържа URL към csv файл и url към шаблонен файл.
Когато стартирам приложението за първи път, приложението изтегля файла със свойства, зарежда URL адреса от записите във файла със свойства и изтегля csv файла и файла с шаблони и прави циркулярно писмо с файловете.
Когато стартирам приложението Web Start втори, трети, ... път, той винаги изтегля файла със свойства от първото изпълнение. Дори файлът със свойства се презаписва всеки път, когато потребителят стартира приложението Web Start.
Открих, че когато разположа приложението си в Wildfly чрез „Пълно публикуване“ от eclipse, приложението Web Start работи добре, но когато разположа приложението си чрез „Проект --> Експортиране --> WAR файл“ и поставя . war файл в папката за разполагане в моята инсталация на Wildfly Получавам поведението, обяснено по-горе.
Някои допълнителни информации: Внедряване чрез конзолен изход „Експортиране на WAR файл“, 1-во изпълнение:
Java Web Start 11.65.2.17
JRE-Version verwenden 1.8.0_65-b17 Java HotSpot(TM) Client VM
Benutzer-Home-Verzeichnis = C:\Users\arthurw
c: Konsolenfenster löschen
f: Objekte in Finalisierungs-Queue finalisieren
g: Garbage Collect
h: Diese Hilfemeldung anzeigen
m: Speicherauslastung drucken
o: Logging auslösen
p: Proxykonfiguration neu laden
q: Konsole ausblenden
r: Policy-Konfiguration neu laden
s: System- und Deployment-Eigenschaften ausgeben
t: Threadliste ausgeben
v: Threadstack ausgeben
0-5: Traceebene auf <n> setzen
CacheEntry[http://localhost:8080/browser/resources/webstart/715.jnlp]: updateAvailable=true,lastModified=Tue Nov 24 12:23:01 CET 2015,length=831
CacheEntry[http://localhost:8080/browser/resources/webstart/Textverwaltungsschnittstelle.jar]: updateAvailable=true,lastModified=Tue Nov 24 12:21:14 CET 2015,length=2728463
Missing Permissions manifest attribute in main jar: http://localhost:8080/browser/resources/webstart/Textverwaltungsschnittstelle.jar
CacheEntry[http://localhost:8080/browser/resources/webstart/715.properties]: updateAvailable=true,lastModified=Tue Nov 24 12:23:34 CET 2015,length=298
Content-Type = application/octet-stream
Content-Disposition = null
Content-Length = 298
fileName = 715.properties
File downloaded
Content-Type = application/octet-stream
Content-Disposition = null
Content-Length = 2823
fileName = 715_2015_11_24_12_26_16.csv
File downloaded
Content-Type = application/octet-stream
Content-Disposition = null
Content-Length = 37405
fileName = 715_2015_11_24_12_26_16.DOCX
File downloaded
The Library been loaded, and an activeX component been created
2-ро изпълнение:
Java Web Start 11.65.2.17
JRE-Version verwenden 1.8.0_65-b17 Java HotSpot(TM) Client VM
Benutzer-Home-Verzeichnis = C:\Users\arthurw
----------------------------------------------------
c: Konsolenfenster löschen
f: Objekte in Finalisierungs-Queue finalisieren
g: Garbage Collect
h: Diese Hilfemeldung anzeigen
m: Speicherauslastung drucken
o: Logging auslösen
p: Proxykonfiguration neu laden
q: Konsole ausblenden
r: Policy-Konfiguration neu laden
s: System- und Deployment-Eigenschaften ausgeben
t: Threadliste ausgeben
v: Threadstack ausgeben
0-5: Traceebene auf <n> setzen
----------------------------------------------------
Missing Permissions manifest attribute in main jar: http://localhost:8080/browser/resources/webstart/Textverwaltungsschnittstelle.jar
Content-Type = application/octet-stream
Content-Disposition = null
Content-Length = 298
fileName = 715.properties
File downloaded
Content-Type = application/octet-stream
Content-Disposition = null
Content-Length = 2823
fileName = 715_2015_11_24_12_26_16.csv
File downloaded
Content-Type = application/octet-stream
Content-Disposition = null
Content-Length = 37405
fileName = 715_2015_11_24_12_26_16.DOCX
File downloaded
The Library been loaded, and an activeX component been created
И това е JNLP-файлът
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8080/browser/resources/webstart" href="/bg715.jnlp">
<information>
<title>Textverwaltung Schnittstelle</title>
<description>automatisierte Serienbriefbefüllung mithilfe Ihrer Textverwaltung</description>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+" />
<jar href="/bgTextverwaltungsschnittstelle.jar" main="true"/>
</resources>
<update check="always" policy="always"/>
<application-desc main-class="mm.Textverwaltungsschnittstelle">
<argument>http://localhost:8080/browser/resources/webstart/715.properties</argument>
</application-desc>
</jnlp>
Трябва да го накарам да работи с внедряване чрез „Експортиране на WAR файл“. Някой знае ли какъв е проблема?
------------------------------РЕДАКТИРАНЕ------------------- ------------------
Това е процесът на зареждане на файла със свойства, тук всичко е наред, мога ръчно да отворя файла със свойства и съдържанието е правилно.
Properties clientprops=new Properties();
clientprops.put("modus", modus);
clientprops.put("templatepath", templateUrl);
clientprops.put("csvpath", csvUrl);
String propertypath=jnlpdir + user + ".properties";
File fp = new File(propertypath);
OutputStream out;
try {
out = new FileOutputStream(fp);
clientprops.store(out, "Benötigte Attribute für die Aktivierung der Textverwaltungsschnittstelle");
} catch (IOException e2) {
e2.printStackTrace();
}
Така изтеглям файла със свойствата
File proppath = new File(tmpdir + "prop.properties");
URL url;
try {
url = new URL(args[0]);
FileUtils.copyURLToFile(url, proppath);
} catch (IOException e) {
showFehler("Properties konnten nicht kopiert werden");
}
copyURLToFile(url, proppath) е метод от appache FileUtils. Изтегленият файл със свойства има невалидно съдържание. Всеки път е съдържанието от първото изпълнение.
Искрено Артур