Catalina declares its own protected member variable "server" and a corresponding "setServer" method, while Catalina's super class Embedded has a private member "server" and a "getServer" method, so that Catalina sets its "service" member, but when asking, will return super.server which is consistently null. This means that Catalina cannot be used as Tomcat embedding directly but at least requires an extension like so: public class MyCatalina extends Catalina { public Server getServer() { return this.server; } } It might have other ramifications though and was most likely not intended. See also: http://marc.info/?l=tomcat-user&m=126502245412565&w=2
updated platform and OS to "All".
Fixed in trunk and proposed for 6.0.x. Many thanks.
This has been fixed in 6.0.x and will be included in 6.0.25 onwards.