Dans un script Shell, j'ai défini la variable d'environnement Java_OPTS (pour activer le débogage à distance et augmenter la mémoire), puis j'exécute le fichier jar comme suit:
export Java_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Xms512m -Xmx512m"
Java -jar analyse.jar $*
Mais il semble qu'il n'y ait aucun effet de la variable env Java_OPTS car je ne peux pas me connecter au débogage à distance et je ne vois aucun changement de mémoire pour la JVM.
Quel pourrait être le problème?
PS: je ne peux pas utiliser ces paramètres dans le Java -jar analyse.jar $*
commande car je traite les arguments de ligne de commande dans l'application.
Je ne connais aucune JVM qui vérifie réellement le Java_OPTS
variable d'environnement. Habituellement, cela est utilisé dans les scripts qui lancent la JVM et ils l'ajoutent généralement à la ligne de commande Java
.
La chose clé à comprendre ici est que les arguments à Java
qui viennent avant le -jar analyse.jar
bit n'affectera que la JVM et ne sera pas transmis à votre programme. Ainsi, en modifiant la ligne Java
dans votre script pour:
Java $Java_OPTS -jar analyse.jar $*
Devrait "juste fonctionner".
Vous pouvez configurer _Java_OPTIONS
au lieu de Java_OPTS
. Cela devrait fonctionner sans $_Java_OPTIONS
.