# Note: For now, only PRO commands have command specific help. so only "rollbackonechangset" and "rollbackoneupdate".
## Context
We should make it easier to learn liquibase, in part by making it easier to read the help. while only PRO commands will be affected, this should be coded so that we can add command specific help (as part of the upcoming Usability Epic) and it should function without further coding work.

## Requirements
As a user, i want to open a terminal/command line, fire up liquibase and hit the command's help, without having to fire up a database as well.

When learning liquibase i often check the <command> --help, but this will not work without a specified url which actually connects to a database. for example, rollbackonechangeset --help will tell you.

```
mmc-mbp:opt mariochampion$ liquibase rollbackonechangeset --help
Liquibase Community 3.8.6 by Datical
Errors:
  The option --url is required.
  The option --changeLogFile is required.
```

## Acceptance Criteria
This ticket will be successfully resolved when: 

1. A user with or without a PRO license should be able to see command --help, without required command options.
1. A user typing "liquibase rollbackonechangeset --help" will see the help for that command in their console
1. A user typing "liquibase rollbackoneupdate --help" will see the help for that command in their console


while (entries.hasMoreElements()) {
                JarEntry entry = entries.nextElement();
                if (entry.getName().startsWith("WEB-INF/lib")
                        && entry.getName().toLowerCase().endsWith(".jar")) {
                    File jar = extract(warZip, entry);
                    URL newUrl = new URL("jar:" + jar.toURI().toURL() + "!/");
                    LOG.info(LogType.LOG, "adding '" + newUrl + "' to classpath");
                    urls.add(newUrl);
                    jar.deleteOnExit();
                }
            }
        }
    }
    /**
     * Extract a single object from a JAR file into a temporary file.
     *
     * @param jar   the JAR file from which we will extract
     * @param entry the object inside the JAR file that to be extracted
     * @return a File object with the temporary file containing the extracted object
     * @throws IOException if an I/O problem occurs
     */
    private static File extract(JarFile jar, JarEntry entry) throws IOException {
        
        File tempFile = File.createTempFile("liquibase.tmp", null);
        
        try (
                BufferedInputStream inStream = new BufferedInputStream(jar.getInputStream(entry));
                BufferedOutputStream outStream = new BufferedOutputStream(new FileOutputStream(tempFile))
        ) {
            int status;