Frage


Als ich maven-Anlegestelle-Plugin laufe, laufe ich nächsten Befehl:

mvn -DMAVEN_OPTS="-Xmx1024m -Xms512m" -Djetty.port=8080 jetty:run

aber wenn ich versuche, die Ausgabe freier Heap-Größe mit

Long heapFreeSize = Runtime.getRuntime().freeMemory();

Es ist immer gibt etwas über etwa 30000000.
Ich nehme an, es ist Größe in Bytes, so etwa 30 Megabyte.
Warum dann frei Heap-Speicher nicht erhöhen?

War es hilfreich?

Lösung

MAVEN_OPTS ist eine Umgebungsvariable, die von Maven und als die Befehlszeilenargumente für Forking Java-Prozesse gelesen wird. Kommandozeilenargumente steuern, wie die Java ausführbare Datei gestartet wird, z.B. Sachen wie Speichereinstellungen.

-D wird für die Einstellung Java Systemeigenschaften verwendet, die etwas ganz anderes als Befehlszeilenargument ist. Java Systemeigenschaften können programmatisch zu lesen, zum Beispiel unter Verwendung System.getProperties ().

Fenster:

SET MAVEN_OPTS="-Xmx1024m -Xms512m"
mvn -Djetty.port=8080 jetty:run

Linux:

export MAVEN_OPTS="-Xmx1024m -Xms512m"
mvn -Djetty.port=8080 jetty:run

Andere Tipps

Ich denke, -DMAVEN_OPTS = „- Xmx1024m -Xms512m“ ist nicht korrekt Weise Speicher params hier angeben.

Legen Sie eine Umgebungsvariable namens MAVEN_OPTS mit Inhalt "-Xmx1024m -Xms512m"

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top