Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java qbit boon反映ClassCastException:[B与[C]不兼容_Java_Boon - Fatal编程技术网

Java qbit boon反映ClassCastException:[B与[C]不兼容

Java qbit boon反映ClassCastException:[B与[C]不兼容,java,boon,Java,Boon,我第一次尝试使用qbit(),我必须手动处理所有依赖项(不能使用maven等) 我得到以下例外情况: Exception in thread "main" java.lang.ExceptionInInitializerError at java.base/java.lang.J9VMInternals.ensureError(J9VMInternals.java:186) at java.base/java.lang.J9VMInternals.recordInitiali

我第一次尝试使用qbit(),我必须手动处理所有依赖项(不能使用maven等)

我得到以下例外情况:

Exception in thread "main" java.lang.ExceptionInInitializerError
at java.base/java.lang.J9VMInternals.ensureError(J9VMInternals.java:186)
at java.base/java.lang.J9VMInternals.recordInitializationFailure(J9VMInternals.java:175)
at io.advantageous.boon.core.reflection.Reflection.<clinit>(Reflection.java:114)
at io.advantageous.boon.core.reflection.ClassMeta.classMeta(ClassMeta.java:271)
at io.advantageous.qbit.QBit.registerReflectionAndJsonParser(QBit.java:68)
at io.advantageous.qbit.QBit.doGetFactory(QBit.java:57)
at io.advantageous.qbit.QBit.factory(QBit.java:45)
at io.advantageous.qbit.http.server.HttpServerBuilder.getFactory(HttpServerBuilder.java:136)
at io.advantageous.qbit.http.server.HttpServerBuilder.build(HttpServerBuilder.java:236)
at com.myapp.main(App.java:92)
Caused by: java.lang.ClassCastException: [B incompatible with [C
at
io.advantageous.boon.core.reflection.FastStringUtils$StringImplementation$1.toCharArray (FastStringUtils.java:93)
at io.advantageous.boon.core.reflection.FastStringUtils.toCharArray(FastStringUtils.java:178)
at io.advantageous.boon.core.Str.underBarCase(Str.java:538)
at io.advantageous.boon.core.Sys.sysProp(Sys.java:329)
at io.advantageous.boon.core.timer.TimeKeeperBasic.<init>(TimeKeeperBasic.java:52)
at io.advantageous.boon.core.Sys.<clinit>(Sys.java:171)
... 9 more
线程“main”java.lang.ExceptionInInitializeError中的异常 位于java.base/java.lang.J9VMInternals.ensureError(J9VMInternals.java:186) 在java.base/java.lang.J9VMInternals.recordInitializationFailure(J9VMInternals.java:175)中 在io.advantive.boon.core.reflection.reflection.(reflection.java:114) 位于io.advantive.boon.core.reflection.ClassMeta.ClassMeta(ClassMeta.java:271) 在io.Advantible.qbit.qbit.registerReflectionAndJsonParser(qbit.java:68)上 位于io.advantive.qbit.qbit.doGetFactory(qbit.java:57) 在io.advantive.qbit.qbit.factory(qbit.java:45) 位于io.advantive.qbit.http.server.HttpServerBuilder.getFactory(HttpServerBuilder.java:136) http.server.HttpServerBuilder.build(HttpServerBuilder.java:236) 位于com.myapp.main(App.java:92) 原因:java.lang.ClassCastException:[B与[C]不兼容 在 FastStringUtils$StringImplementation$1.ToCharray(FastStringUtils.java:93) 在io.advantive.boon.core.reflection.FastStringUtils.tocharray(FastStringUtils.java:178) 位于io.advantive.boon.core.Str.underBarCase(Str.java:538) 位于io.advantive.boon.core.Sys.sysProp(Sys.java:329) 在io.advantive.boon.core.timer.TimeKeeperBasic.(TimeKeeperBasic.java:52) 在io.advantive.boon.core.Sys.(Sys.java:171) …还有9个 我添加的jar文件的依赖项如下:

  • qbit-core-2.0.0.jar
  • qbit-web-0.8.18.jar——我也尝试过不包括这个,但这两种方式似乎都没有区别
  • boon-reflekt-0.6.6.jar
我还尝试添加以下内容,根据maven的说法,这些内容似乎是依赖项,但没有成功:

  • 反应流-1.0.0.jar
  • boon-json-0.6.6.jar
  • metrik-0.1.0.jar
  • slf4j-api-1.7.30.jar
此外,我的项目使用:

  • 策展人-配方-4.2.0.jar
  • 馆长-x-discovery-4.2.0.jar
  • org.json.jar(不确定我有哪个版本,但jar是2017年9月18日发布的)

有人能告诉我我遗漏了什么吗?qbit的maven链接是:

问题是,您使用的是Java 9+,而Java 9+的boon依赖项尚未更新。该库中的
FastStringUtils
类进行了一些反射性黑客攻击,以访问
字符串
类的内部字段,但是在Java 9中,
String
的内部字段发生了更改

2015年11月针对这一问题开放,五年后仍然开放

解决方法是在Java 8中运行应用程序,或者使用系统属性
io.Advantible.boon.faststringutils.disable
设置为
true
,运行项目。可以通过添加命令行参数
-Dio.Advantible.boon.faststringutils.disable=true
或添加行

System.setProperty(“io.advantible.boon.faststringutils.disable”、“true”);

在调用
build()之前,调用
App
类的
main
方法
方法显示在stacktrace中。

问题在于,您正在使用Java 9+,而Java 9+的boon依赖项尚未更新。此库中的
FastStringUtils
类进行了一些反射性黑客攻击,以访问
String
类的内部字段,但
String
类的内部字段用Java9编写ged

2015年11月针对这一问题开放,五年后仍然开放

解决方法是在Java 8中运行应用程序,或者使用系统属性
io.Advantible.boon.faststringutils.disable
设置为
true
,运行项目。可以通过添加命令行参数
-Dio.Advantible.boon.faststringutils.disable=true
或添加行

System.setProperty(“io.advantible.boon.faststringutils.disable”、“true”);
在调用stacktrace中显示的
build()
方法之前,调用
App
类的
main
方法