سؤال



When I run maven-jetty-plugin, I run next command:

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

but when I try to output free heap size with

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

It always outputs something about about 30000000.
I suppose it's size in bytes, so about 30 megabytes.
Why then free heap memory did not increase?

هل كانت مفيدة؟

المحلول

MAVEN_OPTS is an environment variable, which is read by Maven and used as the command line arguments for forking java processes. Command line arguments control how the Java executable is started, e.g. stuff like memory settings.

-D is used for setting Java System Properties, which is something completely different than command line arguments. Java System Properties can be read programmatically, e.g. by using System.getProperties().

Windows:

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

Linux:

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

نصائح أخرى

I think -DMAVEN_OPTS="-Xmx1024m -Xms512m" is not correct way to specify memory params here.

Set a env variable called MAVEN_OPTS with content "-Xmx1024m -Xms512m"

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top