Openfire provides ways to customize application code as well as the Admin console, while maintaining that code in a separate location from the distribution source: http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/overlay.html
The related infrastructure can use some minor tweaks:
The page linked in this description has an incorrect title
Subdirectories in the overlay layout should be included.
When compiling the admin plugin, the overlay sources and libraries should be included.