cancel
Showing results for 
Search instead for 
Did you mean: 

How do I set a project property through the maven command line?

SOLVED
New Contributor

How do I set a project property through the maven command line?

I'm using the maven-soapui-extension-plugin and I'm trying to figure out a way to run all the tests in a project with a specific tag. I couldn't find a way to do this with the built in tagging feature (at least not through maven) so I've created a project property that I want to be able to set through the maven command line so I can have all the other tests cross check against this property to determine whether they should execute or not. 

 

I've setup the project property in the pom.xml like this: 

 

<projectProperties>
<projectProperty>testExecution="Smoke_Test"</projectProperty>
</projectProperties>

 

I also created a custom project property through the UI using the custom project properties and left the value blank so it could be replaced with this. However, even without adding a flag in the command line the pom.xml is not changing the property to Smoke_Test for me. I figure I've done something wrong but I can't seem to get it to work. I'm also not sure how to change the property through maven, from what I've read here on other posts the command has to use -Dsoapui.projectProperties. How do I actually use this? Is it just -Dsoapui.projectProperties.testExecution="tag_i_want"?

 

Thanks.

K M

2 ACCEPTED SOLUTIONS

Accepted Solutions
New Contributor

Re: How do I set a project property through the maven command line?

I've made some progress. I've finally got the pom.xml file to pass in the parameter I wanted for the project property. I deleted the custom project property from the SoapUI and changed the xml to have this instead: 

 

<projectProperties>
<value>testExecution=${projectProperty}</value>
</projectProperties>

 

I then defined the projectProperty later in the pom right before </project> : 

 

<properties>
<projectProperty>Smoke_Test</projectProperty>
</properties>
</project>

 

Trying now to change the value of project property. I've tried -Dproperties.projectProperty=new_val but no luck. 

New Contributor

Re: How do I set a project property through the maven command line?

Alright figured it out. I changed the project property value (the one right before </project>) to $(projectProperty) and now I can use -DprojectProperty="any_val" to pass in whatever I want. Hope this helps someone later 

 

Edit: I should note that in order to actually use the property in the test cases, I had used a groovy script and the get data to define it in a script. However, since I deleted it after it won't show up anymore but you can still define the property like such: 

 

def testExecution = context.expand( '${#Project#testExecution}' )    // the property name is 'testExecution' in my case

 

I'm not sure whether or not it would work if I hadn't deleted the custom property. It may not have made a difference. 

3 REPLIES 3
New Contributor

Re: How do I set a project property through the maven command line?

I've made some progress. I've finally got the pom.xml file to pass in the parameter I wanted for the project property. I deleted the custom project property from the SoapUI and changed the xml to have this instead: 

 

<projectProperties>
<value>testExecution=${projectProperty}</value>
</projectProperties>

 

I then defined the projectProperty later in the pom right before </project> : 

 

<properties>
<projectProperty>Smoke_Test</projectProperty>
</properties>
</project>

 

Trying now to change the value of project property. I've tried -Dproperties.projectProperty=new_val but no luck. 

New Contributor

Re: How do I set a project property through the maven command line?

Alright figured it out. I changed the project property value (the one right before </project>) to $(projectProperty) and now I can use -DprojectProperty="any_val" to pass in whatever I want. Hope this helps someone later 

 

Edit: I should note that in order to actually use the property in the test cases, I had used a groovy script and the get data to define it in a script. However, since I deleted it after it won't show up anymore but you can still define the property like such: 

 

def testExecution = context.expand( '${#Project#testExecution}' )    // the property name is 'testExecution' in my case

 

I'm not sure whether or not it would work if I hadn't deleted the custom property. It may not have made a difference. 

Community Manager

Re: How do I set a project property through the maven command line?

Hi,

 

Thanks for sharing your solution with us. It will help other community members for sure!

---------
Tanya Gorbunova
SmartBear Community Manager

Join the September Hub-bub to show off, learn and win
New Here?
Join us and watch the welcome video:
SeptemberNews
Join the exciting event
SeptemberHubBub
Top Kudoed Authors
Join the September Hub-bub to show off, learn and win