Ich möchte eine eingebettete Tomcat7-Instanz direkt aus Maven mit dem Tomcat7-Maven-Plugin starten. Dies funktioniert gut, aber der Tomcat gestartet scheint nicht genug Speicher zu haben. Ich vermute, dass ich würdeSpeicher von tomcat7 maven plugin erhöhen?
setzen, aber ich kann nicht herausfinden, wie es geht.
Die Dokumentation besagt, dass man das Element "systemProperties" im Abschnitt "configuration" des Plugins verwenden sollte. Allerdings sind die Optionen als XML-Elemente angegeben und würde so aussehen müssen:
<configuration>
<systemProperties>
<XX:MaxPermSize>256m</XX:MaxPermSize>
</systemProperties>
</configuration>
Aber das ist natürlich nicht möglich, da es die XML bricht (XX ist als Namensraum interpretiert).
Natürlich konnte ich dieses Problem umgehen, indem Umgebungsvariable
MAVEN_OPTS=-XX:MaxPermSize=256m
aber ich würde es für den Embedded-Tomcat nur zu erhöhen bevorzugen. Irgendwelche Ideen, wie man das macht?
Sehr cool, wenn auch überhaupt nicht dokumentiert :-) – Sebi
Das funktionierte bei mir überhaupt nicht, und ich würde es nicht wirklich erwarten. Der Java-Prozess hat bereits begonnen und es scheint, dass [auch wenn Sie fork, Sie immer noch nicht einen neuen Java-Prozess erhalten] (http://mojo.10943.n7.nabble.com/How-to-set-user- timezone-in-tomcat-maven-plugin-td36517.html). Also ich denke, dass Sie die maximalen Heap-Größen festlegen müssen, bevor Sie Maven starten. Als ich versuchte, das Tag zu verwenden, um Dauerwelle Größe auf 256 zu setzen, tat ich eine jstat -gccapacity Maven-pid nach dem Starten der App und sah, dass meine maximale Perm-Gen war immer noch nur 82 kb –
rzrelyea
hinzufügen dies zu pom.xml nicht Arbeit, es ist zu spät. Sie müssen solche Parameter direkt an die JVM übergeben, im Run -> Run configurations ...-> JRE Registerkarte -> VM-Argumente. Sie können überprüfen, was mit VisualVM (einfacher Profiler, der in Ihr Oracle JDK eingebettet ist) passiert. –