Tool (Apache Tomcat 9.0.120 API Documentation)
Description: declaration: package: org.apache.catalina.startup, class: Tool

# Class Tool

java.lang.Object
org.apache.catalina.startup.Tool

public final class Tool extends Object
General purpose wrapper for command line tools that should execute in an environment with the common class loader environment set up by Catalina. This should be executed from a command line script that conforms to the following requirements:

- Passes the `catalina.home` system property configured with the pathname of the Tomcat installation directory.
- Sets the system classpath to include `bootstrap.jar` and `$JAVA_HOME/lib/tools.jar`.

The command line to execute the tool looks like:

      java -classpath $CLASSPATH org.apache.catalina.startup.Tool \
        ${options} ${classname} ${arguments}

with the following replacement contents:

- ${options} - Command line options for this Tool wrapper. The following options are supported:
  - -ant : Set the `ant.home` system property to corresponding to the value of `catalina.home` (useful when your command line tool runs Ant).
  - -common : Add `common/classes` and `common/lib` to the class loader repositories.
  - -server : Add `server/classes` and `server/lib` to the class loader repositories.
  - -shared : Add `shared/classes` and `shared/lib` to the class loader repositories.
- ${classname} - Fully qualified Java class name of the application's main class.
- ${arguments} - Command line arguments to be passed to the application's `main()` method.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Tool()`
  Constructs a new Tool.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `main(String[] args)`
  The main program for the bootstrap.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### Tool

    public Tool()
    Constructs a new Tool. This utility class should not be instantiated.

- ## Method Details

  - ### main

    public static void main(String[] args)
    The main program for the bootstrap.
    Parameters:
      `args` - Command line arguments to be processed