Flagged by justin.mann:
In Tomcat 7 and earlier versions, class loading for ext JAR files were done in alphabetical order. However, with Tomat 8 and later, class loading has been changed to be decided by the underlying file system (http://dev-wikis.blogspot.com/2014/12/order-of-loading-jar-files-from-lib.html).
After some discussion with the escalation engineering team, we have determined that it may be necessary to create a custom web classloader for Tomcat 8+ in order to deploy ext plugins in a specific order.
I would like to add a note/section in our documentation here: https://help.liferay.com/hc/en-us/articles/360018181211-Advanced-Customization-with-Ext-Plugins#ext-plugin-packaging-requirements-for-jboss-7
Similar to the section linked, I was hoping to add something like the following:
EXT PLUGIN PACKAGING REQUIREMENTS FOR TOMCAT 8+
If you're deploying to Tomcat 8+, you need to take Tomat 8+'s classloading behavior into account. As of Tomcat 8, Tomcat is no longer loading JAR files in alphabetical order, so a custom classloader may need to be developed to facilitate the correct order for loading EXT plugins.