Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I want to start an embedded tomcat7 instance directly from maven using the tomcat7-maven-plugin. This is working fine, but the Tomcat started doesn't seem to have enough memory. I suspect that I would need to set

-XX:MaxPermSize=256m

but I can't figure out how to do it.

The documentation says one should use the "systemProperties" element in the "configuration" section of the plugin. However, the options are specified as XML elements and would need to look like that:

<configuration>
  <systemProperties>
    <XX:MaxPermSize>256m</XX:MaxPermSize>
  </systemProperties>
</configuration>

But that's of course not possible as it breaks the XML (XX is interpreted as a namespace).

Of course I could get around this problem by setting environment variable

MAVEN_OPTS=-XX:MaxPermSize=256m

but I would prefer to only increase it for the embedded Tomcat. Any ideas how to do that?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
166 views
Welcome To Ask or Share your Answers For Others

1 Answer

As most said in the comments above the properties in pom.xml has no effct. What worked for me was setting my MAVEN_OPTS

MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m"

Or on Windows in a cmd terminal:

set MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=256m

For mac/linux users, just add an export statement to your ~/.profile (or similar file name). For example:

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m"

And restart your shell.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...