Steps to Reproduce
Just get the example from https://github.com/zkoss/zkspringboot/tree/master/zkspringboot-demos/zkspringboot-security-demo
And add the setup to set a default theme like
<dependency>
<groupId>org.zkoss.theme</groupId>
<artifactId>iceblue_c</artifactId>
<version>9.6.0.2</version>
</dependency>
<library-property>
<name>org.zkoss.theme.preferred</name>
<value>iceblue_c</value>
</library-property>
Start the project from STS (Eclipse of Spring Boot) with "Run as Spring Boot App"
Current Result
Error on start:
2023-08-03T07:54:10.669+02:00[0;39m [32m INFO[0;39m [35m16060[0;39m [2m—[0;39m [2m[ restartedMain][0;39m [36morg.zkoss.zk.ui.sys.ConfigParser [0;39m [2m:[0;39m Loading system default
[2m2023-08-03T07:54:10.727+02:00[0;39m [31mERROR[0;39m [35m16060[0;39m [2m—[0;39m [2m[ restartedMain][0;39m [36morg.zkoss.zk.ui.sys.ConfigParser [0;39m [2m:[0;39m Unable to load a listener, [null:jar:file:/C:/Users/C07671/.m2/repository/org/zkoss/theme/iceblue_c/9.6.0.2/iceblue_c-9.6.0.2.jar!/metainfo/zk/config.xml:11:12]
org.zkoss.zk.ui.UiException: Unknown listener: class org.zkoss.theme.iceblue_c.ThemeWebAppInit
at org.zkoss.zk.ui.util.Configuration.addListener(Configuration.java:413) ~[zk-9.6.4-jakarta.jar:9.6.4-migrated-1.0.0]
at org.zkoss.zk.ui.sys.ConfigParser.parseListener(ConfigParser.java:288) ~[zk-9.6.4-jakarta.jar:9.6.4-migrated-1.0.0]
at org.zkoss.zk.ui.sys.ConfigParser.parseListeners(ConfigParser.java:282) ~[zk-9.6.4-jakarta.jar:9.6.4-migrated-1.0.0]
at org.zkoss.zk.ui.sys.ConfigParser.parseConfigXml(ConfigParser.java:220) ~[zk-9.6.4-jakarta.jar:9.6.4-migrated-1.0.0]
at org.zkoss.zk.ui.http.WebManager.<init>(WebManager.java:149) ~[zk-9.6.4-jakarta.jar:9.6.4-migrated-1.0.0]
at org.zkoss.zkspringboot.ZkAutoConfiguration$1.contextInitialized(ZkAutoConfiguration.java:96) ~[zkspringboot-autoconfig-3.0.0.jar:na]
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4456) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4896) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1328) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1318) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) ~[na:na]
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:846) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1328) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1318) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) ~[na:na]
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:241) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:918) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:485) ~[tomcat-embed-core-10.1.11.jar:10.1.11]
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123) ~[spring-boot-3.1.2.jar:3.1.2]
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104) ~[spring-boot-3.1.2.jar:3.1.2]
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:489) ~[spring-boot-3.1.2.jar:3.1.2]
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211) ~[spring-boot-3.1.2.jar:3.1.2]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:183) ~[spring-boot-3.1.2.jar:3.1.2]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:161) ~[spring-boot-3.1.2.jar:3.1.2]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:602) ~[spring-context-6.0.11.jar:6.0.11]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.1.2.jar:3.1.2]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:734) ~[spring-boot-3.1.2.jar:3.1.2]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:436) ~[spring-boot-3.1.2.jar:3.1.2]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:312) ~[spring-boot-3.1.2.jar:3.1.2]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-3.1.2.jar:3.1.2]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) ~[spring-boot-3.1.2.jar:3.1.2]
at com.airbus.plm.UplmUiApplication.main(UplmUiApplication.java:11) ~[classes/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) ~[spring-boot-devtools-3.1.2.jar:3.1.2]
And not theme look&feel applied, get default ones.
Expected Result
NO error on start and theme apply to all pages
Debug Information
Get from example
Workaround
Start the project from cmd "java -jar springboot.jar" instead from eclipse IDE (STS)