Iniciando o Tomcat em tempo de execução a partir de uma classe Java

O pacote java.lang fornece a classe Runtime para executar comandos como processos separados no runtime. O exemplo abaixo inicia o tomcat de uma classe java:

import java.io.*;

class test 
{
  public static void main(String[] args) 
  {
    try
    {
      Runtime r = Runtime.getRuntime();
      Process p = r.exec("D:\\Program Files\\Tomcat\\bin\\tomcat5.exe");
      DataInputStream i = (DataInputStream)p.getInputStream();
      while(i.readLine() !=null)
      {
        i.read();
      }
    }
    catch (Exception e)
    {
    }
  }
}