<p>I'm working with a Java program that has multiple components (with Eclipse &amp; Ant at the moment). </p>

<p>Is there some way to start multiple programs with one launch configuration? I have an Ant target that does the job (launches multiple programs) but there are things I would like to  do:</p>

<ul>
<li>I would like to debug the programs with Eclipse, hence the need for Eclipse launch.</li>
<li>I would like to see the outputs for the programs at separate consoles.</li>
</ul>

<p>Also other ways to launch multiple Java programs "with one click" with separate consoles and/or debugging would be ok.</p>

['multiple launch part':]
If you have an ant launch configuration which does what you want, you can always transform it into a java launcher calling ant.
```
```
Main Class: org.apache.tools.ant.Main

-Dant.home=${resource_loc:/myPath/apache_ant} 
-f ${resource_loc:/myProject/config/myFile-ant.xml}
```
```
You can then launch this ant session as a regular java application, with all eclipse debugging facilities at your disposal.
Add to your classpath in the User Entries section (
before
your project and default path):
ant.jar
ant-launcher.jar
[Multiple console part]
May be a possible solution would be to make sure your ant launcher actually launches the different application in their own JVM process (one javaw.exe for each application)
That way, you could use the ability of the
native eclipse console to switch between different  process
.
The Console view clearly separates output from each distinct "process" and keeps them in several "buffers". The Console has a built-in "switch" feature that will automatically switch the view to display the buffer of the last process that performed output, however you can easily switch the display to any "process buffer" you want to look at.
To switch the Console "buffer" display, just click on the black "Down arrow" next to the 4th toolbar button from the right in the Console View's title bar (the button
that resembles a computer screen):
this will show a pop-down menu listing the "names" of all active process buffers, preceded by an "order number".
The one currently displayed will have a check-mark before its "order number". You can switch the view to another display buffer simply by clicking on its name.