String command = "start"; if (args.length > 0) { command = args[args.length - 1]; } if (command.equals("startd")) { args[0] = "start"; daemon.load(args); daemon.start(); } else if (command.equals("stopd")) { args[0] = "stop"; daemon.stop(); } should be: String command = "start"; if (args.length > 0) { command = args[args.length - 1]; } if (command.equals("startd")) { args[args.length - 1] = "start"; daemon.load(args); daemon.start(); } else if (command.equals("stopd")) { args[args.length - 1] = "stop"; daemon.stop(); } ... ... Consider what whould happen if Bootstrap is invoked as : org.apache.catalina.startup.Bootstrap -nonaming startd Please refer to the following usage method of org.apache.catalina.startup.Catalina: /** * Print usage information for this application. */ protected void usage() { System.out.println ("usage: java org.apache.catalina.startup.Catalina" + " [ -config {pathname} ]" + " [ -nonaming ] { start | stop }"); }
*** Bug 47881 has been marked as a duplicate of this bug. ***
*** This bug has been marked as a duplicate of bug 47881 ***