The CLI module depends on Apache Commons CLI to handle the command line args, and this dependency is problematic cause such 3rd party library is also used on WildFly/EAP. Example of possible issues:
- supported servers may have different versions of the 3rd party lib which different code in the tool (e.g. EAP 7.0 has 1.2, EAP 7.1 has 1.3)
- tool feature pack adding another lib version to the server dist
The simple solution is to fork the Apache Commons CLI 1.3.1 classes used, since the number of those is small and does not have external dependencies. This fork should be done at the "cli" module, by copying the used Apache classes unchanged other than their package names being prefixed with a local package name, e.g. org.migration.cli.commonscli