geode-core pulls in jetty because there is some code that bootstraps a webserver for the REST, admin REST, and pulse web applications.
Those web applications shouldn't be required for all geode-core users, especially geode clients. This bootstrap code should be moved to a separate subproject called geode-web-launcher or something like that. The jetty dependencies should be moved to that project.
The launcher code can implement CacheService and use the service loader mechanism to be launched when the cache is created.