In einem Shell-Skript habe ich die Umgebungsvariable Java_OPTS festgelegt (um das Remote-Debugging zu aktivieren und den Speicher zu vergrößern) und dann die JAR-Datei wie folgt ausgeführt:
export Java_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Xms512m -Xmx512m"
Java -jar analyse.jar $*
Es scheint jedoch, dass die Variable Java_OPTS env keine Auswirkung hat, da ich keine Verbindung zum Remote-Debugging herstellen kann und keine Änderung im Arbeitsspeicher für die JVM feststelle.
Woran könnte das liegen?
PS: Ich kann diese Einstellungen nicht in der Java -jar analyse.jar $*
Befehl, weil ich Befehlszeilenargumente in der Anwendung verarbeite.
Ich kenne keine JVM, die das Java_OPTS
Umgebungsvariable. Normalerweise wird dies in Skripten verwendet, die die JVM starten, und sie fügen sie normalerweise einfach in die Befehlszeile von Java
ein.
Der Schlüssel zum Verständnis ist, dass Argumente zu Java
kommen vor dem -jar analyse.jar
Bit wirkt sich nur auf die JVM aus und wird nicht weitergegeben wird an Ihr Programm weitergegeben. Ändern Sie also die Zeile Java
in Ihrem Skript wie folgt:
Java $Java_OPTS -jar analyse.jar $*
Sollte "einfach funktionieren".
Sie können _Java_OPTIONS
Anstatt von Java_OPTS
. Dies sollte funktionieren ohne $_Java_OPTIONS
.