Just spent a painful afternoon learning something - if you specify no system properties, Tapestry will fail to initialize if you provide a:
contributeApplicationDefaults(MappedConfiguration<String, String> configuration) ..method in your TapestryModule. The symptom is the dreaded recursive definition exception: Caused by: org.apache.tapestry5.ioc.internal.OperationException: Construction of service 'ServiceOverride' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl(Map) (at ServiceOverrideImpl.java:31) via org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at TapestryIOCModule.java:49) for references to another service that is itself dependent on service 'ServiceOverride'. I'm the first to say that Tapestry IoC is all magic and rainbows to me, but I suspect that's because without any system properties whatsoever, there's no application default doodad created for my tapestry module to contribute to. Is that correct? Gratefully, Michael