Question

Dans un script shell, j'ai 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 a pas d'effet de la variable env de JAVA_OPTS que je ne peux pas se connecter à débogage à distance et je ne vois aucun changement dans la mémoire de la machine virtuelle Java.

Quel pourrait être le problème?

PS: Je ne peux pas utiliser ces paramètres dans la commande java -jar analyse.jar $* parce que je processus arguments de ligne de commande dans l'application.

Était-ce utile?

La solution

Je ne connais pas de JVM qui vérifie en fait la variable d'environnement JAVA_OPTS. Habituellement, cela est utilisé dans les scripts qui lancent la machine virtuelle Java et ils généralement il suffit d'ajouter à la ligne de commande java.

L'essentiel de comprendre ici est que les arguments à java qui viennent avant le bit -jar analyse.jar n'affectera la machine virtuelle Java et pas être transmis à votre programme. Ainsi, la modification de la ligne de java dans votre script:

java $JAVA_OPTS -jar analyse.jar $*

devrait "juste".

Autres conseils

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top