简体   繁体   中英

Eclipse command line arguments

I understand how to run my application with command line arguments using the run configuration menu.

The problem I have is that no matter what I update these command line arguments to, eclipse does not reflect these updates when I execute the code.

so far I have set the arguments to:

test1.txt test2.txt dfs

and this will print:

args[0] = test1.txt
args[1] = test2.txt
args[2] = dfs

but if I update the arguments and re-run it, the arguments won't update

How can I "reset" the arguments and re-run the application using the updated arguments.

The above and below both function correctly and it was in fact eclipse that was causing me issues. The problem was resolved with a simple restart of eclipse.

Thanks all.

  1. Click on Run -> Run Configurations
  2. Click on Arguments tab
  3. In Program Arguments section , Enter your arguments.
  4. Click Apply

It is sure to work cause I tried it in mine right before I wrote this answer

There is a situation (bug) where modifying the Run -> Run Configurations arguments does not work, since the actual run configuration being executed is actually hidden from you.

So updating the visible one will not be reflected in your actual run.

Example:

import static org.junit.Assert.assertEquals;

import org.junit.Test;

public class EclipseRunConfigurationTest {

    @Test
    public void test() {
        assertEquals("foo", System.getProperty("runProperty"));
    }

}
  1. Run it - it will fail.
  2. Modify the run configuration using the method specified by Little Child. add "-DrunProperty=foo" VM parameter
  3. Run it again - it will pass
  4. Debug it, then switch to the debug view,
    • RClick the Junit launch -> Edit Rerun EclipseRunConfigurationTest...
    • Change the VM parameter to "-DrunProperty=bar"
    • Apply and Debug - it will fail
  5. Open the Run/Debug manager again
    • Note that 'Rerun EclipseRunConfigurationTest' is not listed.
    • Note that the VM parameter is still "-DrunProperty=foo"
    • No amount of changing it makes the slightest bit of difference.

I shall file a bug report.

The above was run on Eclipse Kepler running on Fedora 20.

For Eclipse Neon Users

Step 1: Click Run -> Run Configurations

Step 2: Click on arguments Tab.

Step 3: insert required arguments in VM Arguments.

Step 4: Click Apply

Step 5: Click Run.

A small update in the solution given by Little Child above, to make it work with arguments having spaces in them. eg first argument - abc def second argument - ghi third argument - jkl mno pqrs

In Program Arguments, give them like this using double quotes

"abc def"
"ghi"
"jkl mno pqrs"

If you don't give spaces it will take abc as first argument and def as second argument and ghi as thrid argument and so on..

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM