[JAVA]

Hintergrund

Bei der Entwicklung von OSS, das von Java erstellt wurde, und einer intern geschlossenen Bibliothek habe ich solche Anfragen mehrmals erhalten. Wenn ich es also zumindest in Qiita schreibe, denke ich, dass es sich von Google selbst lösen wird. Mit einer schwachen Erwartung.

Die Anfrage sieht so aus

Muster 1

In der Bibliotheksdokumentation heißt es, dass die Angabe von -Dxxxx = yyyy die Option xxxx aktiviert, aber nicht funktioniert. Ist die Bibliothek fehlerhaft?

Muster 2

Beim Starten eines JARs mit dem integrierten Tomcat (oder Jetty usw.) habe ich -Dcom.sun.management.jmxremote und andere JMX-Optionen hinzugefügt, um JMX zu aktivieren, aber selbst wenn ich die Anwendung starte Der JMX-Port wird nicht zu LISTEN.

Müssen Sie die Parameter des eingebauten Tomcat (oder Jetty usw.) anpassen?

Es ist nicht die Bibliothek oder der Servlet-Container, der fehlerhaft ist

Falscher Befehl


java -jar zzzz.jar -Dxxxx=yyyy -Dcom.sun.management.jmxremote

Auf den ersten Blick sieht es so aus, als gäbe es kein Problem, aber es ist wie folgt.

Richtiger Befehl


java -Dxxxx=yyyy -Dcom.sun.management.jmxremote -jar zzzz.jar 

Kurz gesagt, es geht darum, das JVM-Argument nach der Option -jar anzugeben: Schweiß:

Übrigens wird mit dem Befehl java -help die Reihenfolge klar angegeben. Es ist unnötig zu erwähnen, dass "[Optionen]" eine JVM-Option ist und "[Argumente]" ein vom Programm verarbeitetes Befehlszeilenargument ist.

$ java -help

wie benutzt man: java [options] <mainclass> [args...]
           (Beim Ausführen einer Klasse)
Oder Java[options] -jar <jarfile> [args...]
           (Beim Ausführen einer JAR-Datei)
Oder Java[options] -m <module>[/<mainclass>] [args...]
       java [options] --module <module>[/<mainclass>] [args...]
           (Beim Ausführen der Hauptklasse eines Moduls)
Oder Java[options] <sourcefile> [args]
           (Beim Ausführen eines einzelnen Quelldateiprogramms)

Hauptklasse, Quelldatei,-jar <jarfile>、
 -m oder--module <module>/<mainclass>Die folgenden Argumente sind Argumente für die Hauptklasse
Wird bestanden.

...Unten abgekürzt

Schließlich

JVM-Option funktioniert nicht! ?? Überprüfen Sie in diesem Fall zuerst den von Ihnen eingegebenen Befehl, bevor Sie an anderen zweifeln.

Recommended Posts