In a shell script, I have set the JAVA_OPTS environment variable (to enable remote debugging and increase memory), and then I execute the jar file as follows:
export JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Xms512m -Xmx512m"
java -jar analyse.jar $*
But it seems there is no effect of the JAVA_OPTS env variable as I cannot connect to remote-debugging and I see no change in memory for the JVM.
What could be the problem?
PS: I cannot use those settings in the java -jar analyse.jar $* command because I process command line arguments in the application.
I don’t know of any JVM that actually checks the
JAVA_OPTSenvironment variable. Usually this is used in scripts which launch the JVM and they usually just add it to thejavacommand-line.The key thing to understand here is that arguments to
javathat come before the-jar analyse.jarbit will only affect the JVM and won’t be passed along to your program. So, modifying thejavaline in your script to:Should “just work”.