57 votes

Exécution de Java avec la variable env JAVA_OPTS

Dans un script shell, j'ai configuré l'environnement JAVA_OPTS (pour activer le débogage à distance et augmenter la mémoire), puis exécuter 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 ne semble pas y avoir d'effet de la variable env JAVA_OPTS car je ne peux pas me connecter au débogage à distance et il ne semble pas y avoir de changement de mémoire pour JVM.

Quel pourrait être le problème?

PS: je ne peux pas utiliser ces paramètres dans la commande "java -jar analyse.jar $ *" car je traite les arguments de ligne de commande dans l'application.

101voto

HEX Points 608

Vous pouvez configurer _JAVA_OPTIONS au lieu de JAVA_OPTS . Cela devrait fonctionner sans $_JAVA_OPTIONS .

56voto

ZoogieZork Points 6730

Je ne sais pas du tout de la JVM qui en fait les vérifications de l' JAVA_OPTS variable d'environnement. Habituellement, il est utilisé dans les scripts de lancement de la JVM et ils habituellement juste ajouter de l' java de la ligne de commande.

L'essentiel à comprendre ici est que les arguments de java qui viennent avant l' -jar analyse.jar peu n'affecte que la JVM et de ne pas être passé le long de votre programme. Donc, la modification de l' java ligne de votre script:

java $JAVA_OPTS -jar analyse.jar $*

Il faut "juste travail".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X