Es wird auf jeden Fall nicht, wenn Sie diese Option, um die Datei jnlp platzieren. Es gibt eine Liste von erlaubten Optionen und die anderen werden ignoriert. Sie können die Liste der verfügbaren JVM-Optionen in der documentation überprüfen.
Beachten Sie, dass der Endbenutzer Ihre Anwendung auf seinem Computer ausführen wird. Was würdest du mit dem Heap Dump auf seinem Computer machen? Es könnte jemand auf der Welt sein, der deine App betreibt. Es macht wenig Sinn, wenn Sie dies mit JVM für Endbenutzer über Ihre JNLP-Datei tun dürfen.
Die einzige Situation, über die ich nachdenken kann, wäre, dass Sie Zugriff auf diesen Computer haben und Sie den Speicherauszug später überprüfen können. In diesem Fall (Sie als Endbenutzer fordern den Dump) ist es tatsächlich möglich, wenn Sie den Autorun der jnlp-Datei vom Browser umgehen und ihn selbst über den Befehl javaws
ausführen. Die Schritte, die ich gemacht habe und die zum Erfolg führen, wurden wie folgt (die jnlp Datei testOOM.jnlp
war übernehmen und Sie sind auf Windows):
- die JNLP-Datei mit dem zu dem Verzeichnis
- von der Kommandozeile herunterladen JNLP-Datei
javaws -verbose -J-XX:+HeapDumpOnOutOfMemoryError testOOM.jnlp
ausführen mit dieser die App wird als aus dem Browser in der gleichen Art und Weise gestartet werden. Beachten Sie jedoch die Option -J
, mit der Sie der JVM JVM-Optionen bereitstellen können. Dies ist in Ordnung, weil es der Ebd-Benutzerclient ist, der den Dump angefordert hat.
Unter OutOfMemoryError
wird der Heapspeicherauszug im selben Verzeichnis gespeichert, in dem Sie den Befehl javaws
ausführen.
Welche Ergebnisse erhalten Sie, wenn Sie das Programm mit diesen Optionen ausführen? – Davidann
, da das Manipulieren des Client-Computers (das Ablegen einer Datei auf dem lokalen Computer) umfasst. Ich wäre nicht überrascht, wenn es Sicherheitskontrollen um diese Option gäbe. Es kann vollständig verweigert werden oder zusätzliche Berechtigungen erfordern. – jtahlborn
Haben Sie versucht, auch den Pfad anzugeben, indem Sie zum Beispiel '-XX: HeapDumpPath =/tmp' hinzufügen? –