Hallo Ich arbeite an einem Java-Maven-Projekt, in dem ich einige Variablen in der pom.xml-Datei zu definieren.konnte nicht erhalten <systemPropertyVariables> Variablenwerte von pom
Ich habe eine Variable wie folgt in meiner pom.xml-Datei definiert.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<includes>
<include>**/*Test*.java</include>
<include>**/*Tests*.java</include>
<include>**/Test*.java</include>
</includes>
<systemPropertyVariables>
<my.value>NOTNULL</my.value>
</systemPropertyVariables>
</configuration>
</plugin>
die my.value
Variable Zugriff Um zu versuchen, bin ich mit dem folgenden Stück Code Java.
String testdata = System.getProperty("my.value");
System.out.println(testdata);
Aber die Ausgabe der Konsole zeigt mir immer null
, auch wenn ich den Wert der Variablen gesetzt.
Kann jemand darauf hinweisen, was hier falsch ist?
Vielen Dank im Voraus.
EDIT: Ich habe auch versucht, die systemPropertyVariables
unter der maven-failsafe-plugin
aber ohne Änderung zu deklarieren.
HINWEIS: Wenn ich versuche, die Testdaten Codezeile wie folgt zu konvertieren,
String testdata = System.getProperty("my.value").toString();
ich eine Nullpointer-Ausnahme bei der obigen Zeile erhalten.
Edit: Sorry für diese als Antwort veröffentlichen früher ..
ich es als JUnit-Test mit dem Plugin leite .../Plugin-Code Ihnen zur Verfügung gestellten, aber hier ist meine Konsolenausgabe ..
21 Oct 2014 12:36:56,973 main INFO s.MyClass - Default Implicit timeout set in Driver to: 100
21 Oct 2014 12:36:56,973 main INFO s.MyClass - Default URL for server is set to: http://localhost:8080
---- null
die URL ist, was ich von der pom.xml-Datei und der Zustand zurückzuholen versuche ich geschrieben habe, ist, dass
, wenn der Wert in der Variable beginnt mit $ leer {dann zurück localhost: 8080 sonst Rückkehr die URL
Also, wenn du mich etwas falsch hier
Ich habe nie Variablen für den Zugriff zu hören von Ihnen pom.xml Maven ist ein Build-System und hat nichts damit zu tun. laufen Sie den Code. Es sei denn, Sie Tests sprechen, die von Maven abgefeuert werden? –
@ScaryWombat i JUnit-Tests für mobile Automation leite. – Ram