Method org.apache.commons.chain.web.ChainListener#translate(String) simply discards any spaces in URL instead of replacing them with %20 as stated in it's documentation.
As result the configuration form chain-config.xml files stored in JAR files on path with spaces is not processed.
BTW: Why not use
jarURL.toExternalForm().replaceAll(" ", "%20")
instead of
translate(jarURL.toExternalForm())
AlesD
P.S. The reason for not using replaceAll is that wasn't introduced until JDK 1.4 and Chain is still targetting JDK 1.3 as a minimum