KUBE_PING with Keycloak.X 17.0.0 : ClassNotFoundException: org.jgroups.protocols.kubernetes.KUBE_PING

I downloaded the latest jgroups-kubernetes jar file from this website Maven Central Repository Search and placed it in in lib/lib/main directory of Keycloak 17.0.0

This is my new cache-ispn-kube-ping.xml file

<?xml version="1.0" encoding="UTF-8"?>
<infinispan
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="urn:infinispan:config:11.0 http://www.infinispan.org/schemas/infinispan-config-11.0.xsd"
        xmlns="urn:infinispan:config:11.0">


    <!-- custom stack goes into the jgroups element -->
    <jgroups>
        <stack name="kube-ping-tcp" extends="tcp">
            <org.jgroups.protocols.kubernetes.KUBE_PING
                        namespace="default"
                       stack.combine="REPLACE"
                       stack.position="MPING" />
        </stack>
    </jgroups>

    <cache-container name="keycloak">
        <!-- custom stack must be referenced by name in the stack attribute of the transport element -->
        <transport lock-timeout="60000" stack="kube-ping-tcp"/>
        <local-cache name="realms">
            <encoding>
                <key media-type="application/x-java-object"/>
                <value media-type="application/x-java-object"/>
            </encoding>
            <memory max-count="10000"/>
        </local-cache>
        <local-cache name="users">
            <encoding>
                <key media-type="application/x-java-object"/>
                <value media-type="application/x-java-object"/>
            </encoding>
            <memory max-count="10000"/>
        </local-cache>
        <distributed-cache name="sessions" owners="2">
            <expiration lifespan="-1"/>
        </distributed-cache>
        <distributed-cache name="authenticationSessions" owners="2">
            <expiration lifespan="-1"/>
        </distributed-cache>
        <distributed-cache name="offlineSessions" owners="2">
            <expiration lifespan="-1"/>
        </distributed-cache>
        <distributed-cache name="clientSessions" owners="2">
            <expiration lifespan="-1"/>
        </distributed-cache>
        <distributed-cache name="offlineClientSessions" owners="2">
            <expiration lifespan="-1"/>
        </distributed-cache>
        <distributed-cache name="loginFailures" owners="2">
            <expiration lifespan="-1"/>
        </distributed-cache>
        <local-cache name="authorization">
            <encoding>
                <key media-type="application/x-java-object"/>
                <value media-type="application/x-java-object"/>
            </encoding>
            <memory max-count="10000"/>
        </local-cache>
        <replicated-cache name="work">
            <expiration lifespan="-1"/>
        </replicated-cache>
        <local-cache name="keys">
            <encoding>
                <key media-type="application/x-java-object"/>
                <value media-type="application/x-java-object"/>
            </encoding>
            <expiration max-idle="3600000"/>
            <memory max-count="1000"/>
        </local-cache>
        <distributed-cache name="actionTokens" owners="2">
            <encoding>
                <key media-type="application/x-java-object"/>
                <value media-type="application/x-java-object"/>
            </encoding>
            <expiration max-idle="-1" lifespan="-1" interval="300000"/>
            <memory max-count="-1"/>
        </distributed-cache>
    </cache-container>
</infinispan>

When I execute the command

kc.sh --verbose start-dev --cache=ispn --cache-config-file=cache-ispn-kube-ping.xml

I get this following error log


    2022-03-24 18:57:36,862 INFO  [io.quarkus.deployment.QuarkusAugmentor] (main) Quarkus augmentation completed in 10416ms
    2022-03-24 18:57:41,268 INFO  [org.keycloak.quarkus.runtime.hostname.DefaultHostnameProvider] (main) Hostname settings: FrontEnd: <request>, Strict HTTPS: false, Path: <request>, Strict BackChannel: false, Admin: <request>
    2022-03-24 18:57:42,327 WARN  [org.infinispan.CONFIG] (keycloak-cache-init) ISPN000569: Unable to persist Infinispan internal caches as no global state enabled
    2022-03-24 18:57:42,401 WARN  [org.infinispan.PERSISTENCE] (keycloak-cache-init) ISPN000554: jboss-marshalling is deprecated and planned for removal
    2022-03-24 18:57:42,492 INFO  [org.infinispan.CONTAINER] (keycloak-cache-init) ISPN000556: Starting user marshaller 'org.infinispan.jboss.marshalling.core.JBossUserMarshaller'
    2022-03-24 18:57:42,888 INFO  [org.infinispan.CONTAINER] (keycloak-cache-init) ISPN000128: Infinispan version: Infinispan 'Triskaidekaphobia' 13.0.5.Final
    2022-03-24 18:57:43,124 INFO  [org.infinispan.CLUSTER] (keycloak-cache-init) ISPN000078: Starting JGroups channel `ISPN` with stack `kube-ping-tcp`
    2022-03-24 18:57:43,451 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Failed to start server in (development) mode
    2022-03-24 18:57:43,452 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) Error details:: java.lang.RuntimeException: Failed to start caches
    	at org.keycloak.quarkus.runtime.storage.infinispan.CacheManagerFactory.getOrCreate(CacheManagerFactory.java:53)
    	at org.keycloak.quarkus.runtime.storage.infinispan.CacheManagerFactory_6ec50d2dc78e759865b1f14e1c157f33d9676e70_Synthetic_ClientProxy.getOrCreate(Unknown Source)
    	at org.keycloak.quarkus.runtime.storage.infinispan.QuarkusCacheManagerProvider.getCacheManager(QuarkusCacheManagerProvider.java:32)
    	at org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory.lazyInit(DefaultInfinispanConnectionProviderFactory.java:139)
    	at org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory.create(DefaultInfinispanConnectionProviderFactory.java:81)
    	at org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory.create(DefaultInfinispanConnectionProviderFactory.java:65)
    	at org.keycloak.services.DefaultKeycloakSession.getProvider(DefaultKeycloakSession.java:316)
    	at org.keycloak.models.sessions.infinispan.InfinispanActionTokenStoreProviderFactory.initActionTokenCache(InfinispanActionTokenStoreProviderFactory.java:52)
    	at org.keycloak.models.sessions.infinispan.InfinispanActionTokenStoreProviderFactory.postInit(InfinispanActionTokenStoreProviderFactory.java:67)
    	at org.keycloak.quarkus.runtime.integration.QuarkusKeycloakSessionFactory.init(QuarkusKeycloakSessionFactory.java:96)
    	at org.keycloak.quarkus.runtime.integration.jaxrs.QuarkusKeycloakApplication.initializeKeycloakSessionFactory(QuarkusKeycloakApplication.java:75)
    	at org.keycloak.quarkus.runtime.integration.jaxrs.QuarkusKeycloakApplication.startup(QuarkusKeycloakApplication.java:56)
    	at org.keycloak.quarkus.runtime.integration.QuarkusLifecycleObserver.onStartupEvent(QuarkusLifecycleObserver.java:37)
    	at org.keycloak.quarkus.runtime.integration.QuarkusLifecycleObserver_Observer_onStartupEvent_8292a286c9778cb4a07bc3314fcbfb61e7fe81a0.notify(Unknown Source)
    	at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:320)
    	at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:302)
    	at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:73)
    	at io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:128)
    	at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:97)
    	at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy_0(Unknown Source)
    	at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy(Unknown Source)
    	at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
    	at io.quarkus.runtime.Application.start(Application.java:101)
    	at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:104)
    	at io.quarkus.runtime.Quarkus.run(Quarkus.java:67)
    	at org.keycloak.quarkus.runtime.KeycloakMain.start(KeycloakMain.java:84)
    	at org.keycloak.quarkus.runtime.cli.command.AbstractStartCommand.run(AbstractStartCommand.java:34)
    	at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
    	at picocli.CommandLine.access$1300(CommandLine.java:145)
    	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
    	at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
    	at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
    	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
    	at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
    	at picocli.CommandLine.execute(CommandLine.java:2078)
    	at org.keycloak.quarkus.runtime.cli.Picocli.parseAndRun(Picocli.java:84)
    	at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:79)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    	at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:60)
    	at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:31)
    Caused by: java.util.concurrent.ExecutionException: org.infinispan.manager.EmbeddedCacheManagerStartupException: org.infinispan.commons.CacheConfigurationException: ISPN000541: Error while trying to create a channel using the specified configuration '[TCP(send_buf_size=640k, thread_pool.max_threads=200, sock_conn_timeout=300, bundler_type=transfer-queue, thread_pool.keep_alive_time=60000, bind_addr=SITE_LOCAL, thread_dumps_threshold=10000, bind_port=7800, enable_diagnostics=false, thread_naming_pattern=pl, thread_pool.min_threads=0), MPING(ip_ttl=2, mcast_port=46655, mcast_addr=228.6.7.8, num_discovery_runs=3), MERGE3(max_interval=30000, min_interval=10000), FD_SOCK(), FD_ALL(interval=2000, timeout_check_interval=1000, timeout=10000), VERIFY_SUSPECT(timeout=1000), pbcast.NAKACK2(xmit_table_num_rows=50, use_mcast_xmit=false, xmit_table_msgs_per_row=1024, xmit_table_max_compaction_time=30000, xmit_interval=100, resend_last_seqno=true), UNICAST3(xmit_interval=100, xmit_table_num_rows=50, xmit_table_msgs_per_row=1024, xmit_table_max_compaction_time=30000), pbcast.STABLE(desired_avg_gossip=5000, max_bytes=1M), pbcast.GMS(join_timeout=2000, print_local_addr=false), UFC(min_threshold=0.40, max_credits=4m), MFC(min_threshold=0.40, max_credits=4m), FRAG3(), org.jgroups.protocols.kubernetes.KUBE_PING(namespace=default)]'
    	at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
    	at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205)
    	at org.keycloak.quarkus.runtime.storage.infinispan.CacheManagerFactory.getOrCreate(CacheManagerFactory.java:51)
    	... 42 more
    Caused by: org.infinispan.manager.EmbeddedCacheManagerStartupException: org.infinispan.commons.CacheConfigurationException: ISPN000541: Error while trying to create a channel using the specified configuration '[TCP(send_buf_size=640k, thread_pool.max_threads=200, sock_conn_timeout=300, bundler_type=transfer-queue, thread_pool.keep_alive_time=60000, bind_addr=SITE_LOCAL, thread_dumps_threshold=10000, bind_port=7800, enable_diagnostics=false, thread_naming_pattern=pl, thread_pool.min_threads=0), MPING(ip_ttl=2, mcast_port=46655, mcast_addr=228.6.7.8, num_discovery_runs=3), MERGE3(max_interval=30000, min_interval=10000), FD_SOCK(), FD_ALL(interval=2000, timeout_check_interval=1000, timeout=10000), VERIFY_SUSPECT(timeout=1000), pbcast.NAKACK2(xmit_table_num_rows=50, use_mcast_xmit=false, xmit_table_msgs_per_row=1024, xmit_table_max_compaction_time=30000, xmit_interval=100, resend_last_seqno=true), UNICAST3(xmit_interval=100, xmit_table_num_rows=50, xmit_table_msgs_per_row=1024, xmit_table_max_compaction_time=30000), pbcast.STABLE(desired_avg_gossip=5000, max_bytes=1M), pbcast.GMS(join_timeout=2000, print_local_addr=false), UFC(min_threshold=0.40, max_credits=4m), MFC(min_threshold=0.40, max_credits=4m), FRAG3(), org.jgroups.protocols.kubernetes.KUBE_PING(namespace=default)]'
    	at org.infinispan.manager.DefaultCacheManager.internalStart(DefaultCacheManager.java:756)
    	at org.infinispan.manager.DefaultCacheManager.start(DefaultCacheManager.java:720)
    	at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:401)
    	at org.keycloak.quarkus.runtime.storage.infinispan.CacheManagerFactory.startCacheManager(CacheManagerFactory.java:72)
    	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    	at java.base/java.lang.Thread.run(Thread.java:829)
    Caused by: org.infinispan.commons.CacheConfigurationException: ISPN000541: Error while trying to create a channel using the specified configuration '[TCP(send_buf_size=640k, thread_pool.max_threads=200, sock_conn_timeout=300, bundler_type=transfer-queue, thread_pool.keep_alive_time=60000, bind_addr=SITE_LOCAL, thread_dumps_threshold=10000, bind_port=7800, enable_diagnostics=false, thread_naming_pattern=pl, thread_pool.min_threads=0), MPING(ip_ttl=2, mcast_port=46655, mcast_addr=228.6.7.8, num_discovery_runs=3), MERGE3(max_interval=30000, min_interval=10000), FD_SOCK(), FD_ALL(interval=2000, timeout_check_interval=1000, timeout=10000), VERIFY_SUSPECT(timeout=1000), pbcast.NAKACK2(xmit_table_num_rows=50, use_mcast_xmit=false, xmit_table_msgs_per_row=1024, xmit_table_max_compaction_time=30000, xmit_interval=100, resend_last_seqno=true), UNICAST3(xmit_interval=100, xmit_table_num_rows=50, xmit_table_msgs_per_row=1024, xmit_table_max_compaction_time=30000), pbcast.STABLE(desired_avg_gossip=5000, max_bytes=1M), pbcast.GMS(join_timeout=2000, print_local_addr=false), UFC(min_threshold=0.40, max_credits=4m), MFC(min_threshold=0.40, max_credits=4m), FRAG3(), org.jgroups.protocols.kubernetes.KUBE_PING(namespace=default)]'
    	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.channelFromConfigurator(JGroupsTransport.java:696)
    	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.buildChannel(JGroupsTransport.java:666)
    	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.initChannel(JGroupsTransport.java:478)
    	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.start(JGroupsTransport.java:463)
    	at org.infinispan.remoting.transport.jgroups.CorePackageImpl$1.start(CorePackageImpl.java:41)
    	at org.infinispan.remoting.transport.jgroups.CorePackageImpl$1.start(CorePackageImpl.java:27)
    	at org.infinispan.factories.impl.BasicComponentRegistryImpl.invokeStart(BasicComponentRegistryImpl.java:617)
    	at org.infinispan.factories.impl.BasicComponentRegistryImpl.doStartWrapper(BasicComponentRegistryImpl.java:608)
    	at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:577)
    	at org.infinispan.factories.impl.BasicComponentRegistryImpl.access$700(BasicComponentRegistryImpl.java:30)
    	at org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:808)
    	at org.infinispan.metrics.impl.MetricsCollector.start(MetricsCollector.java:70)
    	at org.infinispan.metrics.impl.CorePackageImpl$1.start(CorePackageImpl.java:41)
    	at org.infinispan.metrics.impl.CorePackageImpl$1.start(CorePackageImpl.java:34)
    	at org.infinispan.factories.impl.BasicComponentRegistryImpl.invokeStart(BasicComponentRegistryImpl.java:617)
    	at org.infinispan.factories.impl.BasicComponentRegistryImpl.doStartWrapper(BasicComponentRegistryImpl.java:608)
    	at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:577)
    	at org.infinispan.factories.impl.BasicComponentRegistryImpl.access$700(BasicComponentRegistryImpl.java:30)
    	at org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:808)
    	at org.infinispan.factories.impl.BasicComponentRegistryImpl.startDependencies(BasicComponentRegistryImpl.java:635)
    	at org.infinispan.factories.impl.BasicComponentRegistryImpl.doStartWrapper(BasicComponentRegistryImpl.java:599)
    	at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:577)
    	at org.infinispan.factories.impl.BasicComponentRegistryImpl.access$700(BasicComponentRegistryImpl.java:30)
    	at org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:808)
    	at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:354)
    	at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:250)
    	at org.infinispan.manager.DefaultCacheManager.internalStart(DefaultCacheManager.java:752)
    	... 7 more
    Caused by: java.lang.ClassNotFoundException: org.jgroups.protocols.kubernetes.KUBE_PING
    	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    	at io.quarkus.bootstrap.runner.RunnerClassLoader.loadClass(RunnerClassLoader.java:107)
    	at io.quarkus.bootstrap.runner.RunnerClassLoader.loadClass(RunnerClassLoader.java:57)
    	at java.base/java.lang.Class.forName0(Native Method)
    	at java.base/java.lang.Class.forName(Class.java:398)
    	at org.infinispan.commons.util.Util.loadClassStrict(Util.java:171)
    	at org.infinispan.commons.util.Util.getInstanceStrict(Util.java:320)
    	at org.infinispan.remoting.transport.jgroups.EmbeddedJGroupsChannelConfigurator.createChannel(EmbeddedJGroupsChannelConfigurator.java:83)
    	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.channelFromConfigurator(JGroupsTransport.java:694)
    	... 33 more