Lors du développement d'OSS fait par Java et d'une bibliothèque fermée en interne, j'ai reçu plusieurs fois de telles demandes, donc si je l'écris au moins dans Qiita, je pense que cela se résoudra par google. Avec une faible attente.
La documentation de la bibliothèque indique que spécifier -Dxxxx = yyyy
active l'option xxxx
, mais cela ne fonctionne pas. La bibliothèque est-elle boguée?
Lors du lancement d'un jar en utilisant le Tomcat intégré (ou Jetty, etc.), j'ai ajouté -Dcom.sun.management.jmxremote
et d'autres options JMX pour activer JMX, mais même si je lance l'application Le port JMX ne devient pas LISTEN.
Avez-vous besoin d'ajuster les paramètres du Tomcat intégré (ou Jetty, etc.)?
Mauvaise commande
java -jar zzzz.jar -Dxxxx=yyyy -Dcom.sun.management.jmxremote
À première vue, il semble qu'il n'y ait pas de problème, mais c'est comme suit.
Commande correcte
java -Dxxxx=yyyy -Dcom.sun.management.jmxremote -jar zzzz.jar
En bref, il s'agit de spécifier l'argument JVM après l'option -jar
: sweat:
Au fait, avec la commande java -help
, l'ordre est clairement indiqué. Inutile de dire que «[options]» est une option JVM et «[args]» est un argument de ligne de commande traité par le programme.
$ java -help
comment utiliser: java [options] <mainclass> [args...]
(Lors de l'exécution d'une classe)
Ou java[options] -jar <jarfile> [args...]
(Lors de l'exécution d'un fichier jar)
Ou java[options] -m <module>[/<mainclass>] [args...]
java [options] --module <module>[/<mainclass>] [args...]
(Lors de l'exécution de la classe principale d'un module)
Ou java[options] <sourcefile> [args]
(Lors de l'exécution d'un programme de fichier source unique)
Classe principale, fichier source,-jar <jarfile>、
-m ou--module <module>/<mainclass>Les arguments qui suivent sont comme arguments de la classe principale
Sera adopté.
...Ci-dessous, abrégé
L'option JVM ne fonctionne pas! ?? Dans ce cas, vérifiez d'abord la commande que vous avez tapée avant de douter des autres.