Fixing java heap issue with maven sites
I’ve suddenly started getting a few java heap (OutOfMemory) errors with my maven builds, mainly when I run the mvn site phase, but also sometimes when I run sonar:sonar.
I’m running the builds on both linux (centos) and windows.
To fix the issue on Windows:
Edit mvn.bat (this lives in your maven bin directory) and add
set MAVEN_OPTS=-Xmx512m
In theory you could add an environment variable called MAVEN_OPTS and give it the same value as above (Xmx512m) but this didn’t actually work very well for me.
To fix on linux:
Edit your mvn file (which for me was in /usr/local/maven/bin/) and add:
export MAVEN_OPTS=”-Xms256m -Xmx512m”
You could of course add this to your bash profile (don’t forget to source it afterward) or add it to etc/profile, but I found adding it to the mvn file to work best.
To fix on Continuous Integration Servers:
I’ve been getting this error on a number of our CI servers as well, so rather than go around adding “export MAVEN_OPTS” all over the place, I am passing it via the CI system. Hudson, Jenkins, Bamboo and Go all have simple UIs for adding extra parameters to your build commands.