How to pass the -D System properties while testing on Eclipse?

JavaEclipse

Java Problem Overview


I am developing on Eclipse on Windows and Code gets deployed on Unix. I am fetching the system property values using System.getProperty("key") ... How do I pass this in Eclipse so that I do not have to modify the code and it works on Eclipse for debugging?

Any suggestions?

Java Solutions


Solution 1 - Java

Run -> Run configurations, select project, second tab: “Arguments”. Top box is for your program, bottom box is for VM arguments, e.g. -Dkey=value.

Solution 2 - Java

You can use java System.properties, for using them from eclipse you could:

  1. Add -Dlabel="label_value" in the VM arguments of the test Run Configuration like this:

eclipse_vm_config

  1. Then run the test:

     import org.junit.Test;
     import static org.junit.Assert.assertEquals;
     
     public class Main {
         @Test
         public void test(){
         	System.out.println(System.getProperty("label"));
     		assertEquals("label_value", System.getProperty("label"));
         }
     }
    
  2. Finally it should pass the test and output this in the console:

     label_value
    

Solution 3 - Java

You can add command line arguments to your run configuration. Just edit the run configuration and add -Dmyprop=value (or whatever) to the VM Arguments Box.

Solution 4 - Java

This will work for junit. for TestNG use following command

-ea -Dmykey="value" -Dmykey2="value2"

Solution 5 - Java

Yes this is the way:

Right click on your program, select run -> run configuration then on vm argument

-Denv=EnvironmentName -Dcucumber.options="--tags @ifThereisAnyTag"

Then you can apply and close.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionDevang KamdarView Question on Stackoverflow
Solution 1 - JavaBombeView Answer on Stackoverflow
Solution 2 - JavamadxView Answer on Stackoverflow
Solution 3 - JavaizbView Answer on Stackoverflow
Solution 4 - JavaAniruddha GhanekarView Answer on Stackoverflow
Solution 5 - JavaNiteshJain007View Answer on Stackoverflow