Description
This is because we don't force getting a string from the configuration, so we get a list when the configuration is present several times.
class java.util.ArrayList cannot be cast to class java.lang.String (java.util.ArrayList and java.lang.String are in module java.base of loader 'bootstrap') class java.lang.ClassCastException: class java.util.ArrayList cannot be cast to class java.lang.String (java.util.ArrayList and java.lang.String are in module java.base of loader 'bootstrap') at org.xwiki.contrib.urlmapping.DefaultURLMappingConfiguration.getPrefix(DefaultURLMappingConfiguration.java:130) at org.xwiki.contrib.urlmapping.AbstractURLMappingPrefixHandler.getPrefix(AbstractURLMappingPrefixHandler.java:127) at org.xwiki.contrib.urlmapping.internal.URLPrefixHandlerRegistrationListener.registerHandler(URLPrefixHandlerRegistrationListener.java:134) at org.xwiki.contrib.urlmapping.internal.URLPrefixHandlerRegistrationListener.onEvent(URLPrefixHandlerRegistrationListener.java:102) at org.xwiki.observation.internal.DefaultObservationManager.notify(DefaultObservationManager.java:338) at org.xwiki.observation.internal.DefaultObservationManager.notify(DefaultObservationManager.java:303) at org.xwiki.component.internal.StackingComponentEventManager.sendEvent(StackingComponentEventManager.java:151) at org.xwiki.component.internal.StackingComponentEventManager.flushEvents(StackingComponentEventManager.java:92) at org.xwiki.extension.jar.internal.handler.JarExtensionHandler.loadComponents(JarExtensionHandler.java:261) at org.xwiki.extension.jar.internal.handler.JarExtensionHandler.install(JarExtensionHandler.java:183) at org.xwiki.extension.jar.internal.handler.JarExtensionHandler.initialize(JarExtensionHandler.java:144) at org.xwiki.extension.handler.internal.DefaultExtensionHandlerManager.initialize(DefaultExtensionHandlerManager.java:154) at org.xwiki.extension.handler.internal.DefaultExtensionInitializer.initializeExtensionInNamespace(DefaultExtensionInitializer.java:175) at org.xwiki.extension.handler.internal.DefaultExtensionInitializer.initializeExtensionInNamespace(DefaultExtensionInitializer.java:148) at org.xwiki.extension.handler.internal.DefaultExtensionInitializer.initializeExtension(DefaultExtensionInitializer.java:126) at org.xwiki.extension.handler.internal.DefaultExtensionInitializer.initialize(DefaultExtensionInitializer.java:104) at org.xwiki.extension.jar.internal.handler.JarExtensionJobFinishingListener.initializeExtensions(JarExtensionJobFinishingListener.java:244) at org.xwiki.extension.jar.internal.handler.JarExtensionJobFinishingListener.onJobFinishedEvent(JarExtensionJobFinishingListener.java:263) at org.xwiki.extension.jar.internal.handler.JarExtensionJobFinishingListener.onEvent(JarExtensionJobFinishingListener.java:223) at org.xwiki.observation.internal.DefaultObservationManager.notify(DefaultObservationManager.java:338) at org.xwiki.observation.internal.DefaultObservationManager.notify(DefaultObservationManager.java:303) at org.xwiki.job.AbstractJob.jobFinished(AbstractJob.java:297) at org.xwiki.extension.job.internal.AbstractExtensionJob.jobFinished(AbstractExtensionJob.java:134) at org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:251) at org.xwiki.job.AbstractJob.run(AbstractJob.java:223) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840)