【已解决】KWAS内嵌版本启动报缺少依赖

问题 :
koca使用版本2.7.1.1-RELEASE
kwas使用版本1.0.0-springboot-2.x
项目启动后报错,但报错不影响项目使用。
报错细节 :
[2023-05-23 09:32:55.325] DEBUG [kfcs-clear,] 33844 — [main] c.s.kwas.logging.log.DirectJDKLog 165: 类未找到,所以假设代码运行在pre-Java 8虚拟机上

java.lang.ClassNotFoundException: java.lang.reflect.InaccessibleObjectException
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.szkingdom.kwas.web.util.compat.Jre9Compat.(Jre9Compat.java:73)
at com.szkingdom.kwas.web.util.compat.JreCompat.(JreCompat.java:60)
at com.szkingdom.kwas.kcontainer.startup.Kwas.(Kwas.java:1294)
at com.szkingdom.kwas.web.embedded.KwasServletWebServerFactory.getWebServer(KwasServletWebServerFactory.java:178)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:180)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:153)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:545)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
at com.szkingdom.KfcsClearApplication.main(KfcsClearApplication.java:34)

[2023-05-23 09:32:55.326] DEBUG [kfcs-clear,] 33844 — [main] c.s.kwas.logging.log.DirectJDKLog 165: 类未找到,因此假设代码在Java16之前的JVM上运行

java.lang.ClassNotFoundException: java.net.UnixDomainSocketAddress
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.szkingdom.kwas.web.util.compat.Jre16Compat.(Jre16Compat.java:37)
at com.szkingdom.kwas.web.util.compat.JreCompat.(JreCompat.java:60)
at com.szkingdom.kwas.kcontainer.startup.Kwas.(Kwas.java:1294)
at com.szkingdom.kwas.web.embedded.KwasServletWebServerFactory.getWebServer(KwasServletWebServerFactory.java:178)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:180)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:153)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:545)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
at com.szkingdom.KfcsClearApplication.main(KfcsClearApplication.java:34)

该报错是在日志Debug模式下输出的,正常Info是不会输出的。原因是,内嵌Kwas在加载类后,1.对一些变量进行初始化,加载不到则给予用户提示。2.尝试加载一些高版本的类,加载不到给予用户提示版本信息。这仅仅是debug模式下给予用户的提示,方便在出问题时进行调试,不是报错,不影响启动的。

如何配置关闭kwas的debug呢

首先确认日志输出文件是kwas的日志文件,还是项目的日志文件。1.在linux环境下,kwas的日志文件默认位于kwas交付包的logs文件夹下,命名为kwas.out;windows环境下,kwas默认仅在控制台输出日志,不产生日志文件。若是想要调整kwas的日志输出等级,在交付包的conf/logging.properties文件内进行配置(修改level配置项)。2.若该日志文件是项目自行产生的,请修改项目本身的日志配置文件。