Handling Main class in extension


I developed a extension and able to execute commands like update etc and run junits as well in my eclipse.

I tried to do the same using command line using 

java -jar extension.jar

Somehow, control is not going to my extended class even all my extended class has overridden getPriority method. for example, instead of TestDatabase class, control is going to base AbstractJDBCDatabase class.

I built a uber extension.jar to contain all deps including liquibase core and ensure that Main class is getting called using below


in shade plugin. Tried to understand how other extensions are working, haven’t seen any uber jar approaches. In general, how we should handle this packaging problem? What is the right way to use extension in CLI ?

Please advise.