When trying to start an ActiveMq broker using an XML configuration file in Karaf from an environment that does not have internet access, the broker fails to start because it can not resolve the spring-beans.xsd file.
The root cause is that activemq-osgi bundle's mapping in the spring.schemas file for the http schemalocations do not match the name of the XSDs that are embedded in the spring-beans bundle for spring version 5. It looks like all the version numbers were removed in from the xsd file name for version 5.
To work around this problem without manually modifying the contents of the spring.schemas file within the activemq-osgi bundle (which does work, just to prove this was root cause), is to modify the schema location within the activemq.xml file to use a classpath definition. For example, use the following
instead of of the standard