Think this scenario:
User has a custom Tomcat Valve class to be defined via server.xml, first he generated a jar from an IDE, then use install-bundle command to install into the server, then the user defines the valve in the server.xml to use.
This scenario introduces a cycle dependencies relationship between the user bundle and Tomcat bundles.
1. To resolve the user bundle, the Tomcat bundles need to be resolved first
2. To start Geronimo Tomcat module, the user bundle needs to be resolved first.
Currently, the install-bundle command add "resolution:=optional" properties to the installed user bundle, though the user bundle could be started when server boot, but if the there are packages cannot be resolved with "resolution:=optional", those packages won't be resolved anymore.
An improvement is to add "DynamicImport-Package: *" header to the generated menifest.