KOCA版本 :4.2
KOCA模块 :bex
模块版本 :4.2
场景 :
问题 :KOCA 加载bex启动报错
报错细节 :
[2023-05-23 19:23:00.736] ERROR [koca-lcp,,,] 22492 --- [main] c.s.koca.bex.init.BexConfigLoader 95: bex初始化异常
org.springframework.core.NestedIOException: Invalid URI [jar:file:D:\KOCA\meaven restore\com\szkingdom\koca\admin\koca-admin-user\4.2.0\koca-admin-user-4.2.0.jar!/bex/org-bex.xml]; nested exception is java.net.URISyntaxException: Illegal character in opaque part at index 11: jar:file:D:\KOCA\meaven%20restore\com\szkingdom\koca\admin\koca-admin-user\4.2.0\koca-admin-user-4.2.0.jar!/bex/org-bex.xml
at org.springframework.core.io.AbstractResource.getURI(AbstractResource.java:128)
at org.springframework.core.io.UrlResource.getURI(UrlResource.java:216)
at com.szkingdom.koca.bex.init.BexConfigLoader.loadBexFromXml(BexConfigLoader.java:165)
at com.szkingdom.koca.bex.init.BexConfigLoader.load(BexConfigLoader.java:83)
at com.szkingdom.koca.core.context.AppLoadListener.contextLoaded(AppLoadListener.java:99)
at com.szkingdom.koca.core.context.AppLoadListener.start(AppLoadListener.java:131)
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178)
at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54)
at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356)
at java.lang.Iterable.forEach(Iterable.java:75)
at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155)
at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:937)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:765)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:338)
at com.szkingdom.lcp.bootapp.KocaLcpRuntimeApplication.main(KocaLcpRuntimeApplication.java:29)
Caused by: java.net.URISyntaxException: Illegal character in opaque part at index 11: jar:file:D:\KOCA\meaven%20restore\com\szkingdom\koca\admin\koca-admin-user\4.2.0\koca-admin-user-4.2.0.jar!/bex/org-bex.xml
at java.net.URI$Parser.fail(URI.java:2848)
at java.net.URI$Parser.checkChars(URI.java:3021)
at java.net.URI$Parser.parse(URI.java:3058)
at java.net.URI.<init>(URI.java:588)
at org.springframework.util.ResourceUtils.toURI(ResourceUtils.java:381)
at org.springframework.util.ResourceUtils.toURI(ResourceUtils.java:370)
at org.springframework.core.io.AbstractResource.getURI(AbstractResource.java:125)
... 18 common frames omitted
[2023-05-23 19:23:00.736] ERROR [koca-lcp,,,] 22492 --- [main] c.s.koca.core.context.AppLoadListener 101: 应用初始化异常
java.lang.RuntimeException: Invalid URI [jar:file:D:\KOCA\meaven restore\com\szkingdom\koca\admin\koca-admin-user\4.2.0\koca-admin-user-4.2.0.jar!/bex/org-bex.xml]; nested exception is java.net.URISyntaxException: Illegal character in opaque part at index 11: jar:file:D:\KOCA\meaven%20restore\com\szkingdom\koca\admin\koca-admin-user\4.2.0\koca-admin-user-4.2.0.jar!/bex/org-bex.xml
at com.szkingdom.koca.bex.init.BexConfigLoader.load(BexConfigLoader.java:96)
at com.szkingdom.koca.core.context.AppLoadListener.contextLoaded(AppLoadListener.java:99)
at com.szkingdom.koca.core.context.AppLoadListener.start(AppLoadListener.java:131)
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178)
at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54)
at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356)
at java.lang.Iterable.forEach(Iterable.java:75)
at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155)
at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:937)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:765)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:338)
at com.szkingdom.lcp.bootapp.KocaLcpRuntimeApplication.main(KocaLcpRuntimeApplication.java:29)
解决方案:
bex path 路径 号的问题,bex 默认扫描路径是 classpath:/-bex.xml,这个一直没改,改成classpath*:bex/*-bex.xml即可