4.12. Setting the Launch Configuration

Problem

You want to pass command-line arguments to your code, or select a JRE for the current project only, or pass arguments to the JVM.

Solution

Set the project’s launch configuration by selecting Run Run.

Discussion

Say you’re trying to run the code in Example 4-4, Launcher.java, which reads command-line arguments, concatenates them, and displays the results. If you don’t pass any command-line arguments to this code, you get a java.lang.ArrayIndexOutOfBoundsException exception.

Example 4-4. Concatenation sample

package org.cookbook.ch04;

public class Launcher
{
    public static void main(String[] args)
    {
        String text ="";
        for (int loopIndex = 0; loopIndex <args.length; loopIndex++){
            text += args[loopIndex] + " ";
        }
        
        System.out.println(text);
    }

}

You can supply command-line arguments in the launch configuration for this project by highlighting Launcher.java in the Package Explorer, selecting Run Run to open the Run dialog, and clicking the New button to create a new launch configuration for this project, as shown in Figure 4-20. The Main tab in this dialog enables you to select the main class in a project. The Arguments tab enables you to specify command-line and JVM arguments. The JRE tab enables you to select the JRE for the project. And the Source tab enables you to connect source code to your project for the debugger.

Setting a launch configuration

Figure 4-20. Setting a launch configuration

Type the words No problem . in the “Program arguments” box, as shown in Figure 4-20. Then click Run, and the code will read that command-line argument and display it, as shown in Figure 4-21.

Passing command-line arguments

Figure 4-21. Passing command-line arguments

See Also

Recipe 4.8 on selecting the Java runtime; Recipe 4.9 on running your code.

Get Eclipse Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.