Ciao Sto lavorando a un progetto java maven in cui devo definire alcune variabili nel file pom.xml.Impossibile ottenere i valori delle variabili <systemPropertyVariables> da pom
Ho definito una variabile come segue nel mio file pom.xml.
<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>
Per provare ad accedere alla variabile my.value
, io sto usando il seguente pezzo di codice Java.
String testdata = System.getProperty("my.value");
System.out.println(testdata);
Ma l'uscita della console mi mostra sempre null
anche quando ho impostato il valore della variabile.
Qualcuno può segnalare cosa c'è di sbagliato qui?
Grazie in anticipo.
EDIT: Ho anche provato a dichiarare il systemPropertyVariables
sotto il maven-failsafe-plugin
ma senza modifiche.
NOTA: Quando provo a convertire la linea di testdata di codice come segue,
String testdata = System.getProperty("my.value").toString();
ottengo un'eccezione NullPointer alla linea di cui sopra.
Edit: Ci scusiamo per questo distacco da una precedente risposta ..
Sono in esecuzione come test JUnit usando il plugin .../codice del plugin che hai fornito, ma qui è la mia uscita della console ..
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
l'URL è quello che sto cercando di recuperare dal file pom.xml e la condizione che ho scritto è che
se il valore della variabile è vuota di inizia con $ {poi tornare localhost: 8080 altro ritorno l'url.
Quindi, se mi si potrebbe puntare a qualcosa di sbagliato qui
ho mai sentito parlare di accesso variabili da voi pom.xml Maven è un sistema di generazione e non ha nulla a che fare con. eseguendo il codice. A meno che non si stia parlando di test sparati da Maven? –
@ScaryWombat sto eseguendo test JUnit per l'automazione mobile. – Ram