Eigenschaften über die Maven-Befehlszeile einstellen

Ich bin verwirrt darüber, wie bei einigen Komponententests über die Befehlszeile bei Verwendung von Maven eine Eigenschaft korrekt festgelegt werden kann. Es gibt eine Reihe von Fragen (z. B.Specifying Maven Speicherparameter ohne Einstellung der Umgebungsvariablen MAVEN_OPTS, Gibt es eine Möglichkeit, JVM-Argumente über die Befehlszeile an Maven zu übergeben?, Wie werden JVM-Parameter für Junit Unit-Tests festgelegt?) diese Berührung zu diesem Thema, aber keiner hat die Antwort, die ich suche.

Ich möchte die Eigenschaft @ setzjava.util.logging.config.class auf einen Wert, aber ich möchte das @ nicht setzMAVEN_OPTS Umgebungsvariable

Ich kann das todsichere Plugin in meiner POM-Datei mit der folgenden Eigenschaft konfigurieren:

<argLine>-Djava.util.logging.config.class=someClass</argLine>

so dass es jedes Mal gesetzt wird, wenn die Testphase ausgeführt wird.

Wenn ich jedoch die Einstellung aus der POM-Datei entferne und der Befehlszeile Folgendes hinzufüge:

mvn package -DargLine="java.util.logging.config.class=someClass"

dann wird der folgende Fehler in der Testphase gemeldet und der Build schlägt fehl:

Error: Hauptklasse java.util.logging.config.class = someClass konnte nicht gefunden oder geladen werden

Wenn ich Folgendes über die Befehlszeile ausführe:

mvn package -Djava.util.logging.config.class=someClass

dann wird der folgende Fehler zu Beginn des Builds gemeldet, aber der Build und die Tests sind erfolgreich:

Logging Konfigurationsklasse "someClass" fehlgeschlagen java.lang.ClassNotFoundException: someClass

Ich verstehe das Verhalten nicht wirklich. Kann mich jemand aufklären?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage