0
Ich versuche, Benutzer-ID und Passwort von der Kommandozeile wie untenJava System.getProperty liefert falsche Zeichenfolge in Fall Wert hat Sonderzeichen
mvn clean verify -Dtest.email="[email protected]" -Dtest.password="pass$word$"
Zugriff auf diese im Programm
System.out.println(System.getProperty("test.email"));
System.out.println(System.getProperty("test.password"));
wieder passieren
[email protected]
pass
Kann jemand klären, warum Zeichenfolge mit $ -Zeichen abgeschnitten wird und umherarbeiten dafür?
können Sie bitte klären, warum getProperty nicht alles zwischen Anführungszeichen zurückgibt? Ich habe die Methodendokumentation gelesen, aber nicht über Sonderzeichen und flüchtige Bedürfnisse herausgefunden. Auch nur um zu verdeutlichen "Wort" ist nicht variabel, aber der Passwort-Wert selbst enthält Sonderzeichen $ – vikramvi
@vikramvi Aus dem Verhalten Ihres Programms nahm ich an, dass Sie UNIX-System laufen. Das '$' Zeichen ist ein variables Symbol, und da Sie keine Variable namens 'word' gesetzt haben, erhält es den Standardwert einer leeren Zeichenkette. – Maroun
Danke zur Klärung. Ich verwende Mac-Befehlszeile, um 2 Argumente an Java-Programm zu übergeben, da ich Benutzer-ID & pwd nicht hart codieren kann. – vikramvi