gpt4 book ai didi

java - 什么会导致 java.lang.ClassNotFoundException : [B?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:48:43 24 4
gpt4 key购买 nike

我正在使用 Akka 2.2.0、Java 1.7.0_25 和 Eclipse Juno 重写客户端/服务器应用程序。

我有一个使用 Akka 2.0.2 的示例客户端和服务器。
我更新到旧的稳定版本 2.1.4 并让一切再次正常工作。我刚刚转移到最新的稳定版本 2.2.0。

我创建了一个新包来添加一些新功能,同时保留现有代码不变。有些事情发生了变化,现在我无法启动我的测试用例。

这是我在尝试创建 ActorSystem 时看到的堆栈跟踪:

Exception in thread "main" java.lang.ClassNotFoundException: [B
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at akka.actor.ReflectiveDynamicAccess.getClassFor(DynamicAccess.scala:94)
at akka.serialization.Serialization$$anonfun$4.apply(Serialization.scala:154)
at akka.serialization.Serialization$$anonfun$4.apply(Serialization.scala:153)
at scala.collection.TraversableLike$WithFilter$$anonfun$map$2.apply(TraversableLike.scala:697)
at scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:178)
at scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:347)
at scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:696)
at akka.serialization.Serialization.<init>(Serialization.scala:153)
at akka.serialization.SerializationExtension$.createExtension(SerializationExtension.scala:15)
at akka.serialization.SerializationExtension$.createExtension(SerializationExtension.scala:12)
at akka.actor.ActorSystemImpl.registerExtension(ActorSystem.scala:644)
at akka.actor.ExtensionId$class.apply(Extension.scala:34)
at akka.serialization.SerializationExtension$.apply(SerializationExtension.scala:12)
at akka.remote.RemoteActorRefProvider.init(RemoteActorRefProvider.scala:77)
at akka.actor.ActorSystemImpl._start(ActorSystem.scala:568)
at akka.actor.ActorSystemImpl.start(ActorSystem.scala:575)
at akka.actor.ActorSystem$.apply(ActorSystem.scala:103)
at akka.actor.ActorSystem$.apply(ActorSystem.scala:98)
at akka.actor.ActorSystem$.create(ActorSystem.scala:64)
at akka.actor.ActorSystem.create(ActorSystem.scala)

它提示说它不能通过方法描述符样式字符串“[B”类加载字节数组。

@som-snytt 指出了两个错误报告,它们准确描述了我所看到的错误。

@paul-vargas 调用了 -Dsun.lang.ClassLoader.allowArraySyntax=true 以重新启用旧的 loadClass 行为。

allowArraySyntax 标志确实使 ClassNotFoundException 消失,但弹出其他错误。这些错误让我相信我的 Eclipse/m2e/Scala-ide/Akka 设置出了问题。

我将该项目导入到 Netbeans 7.3 中并进行了清理和构建,并且在第一次尝试时就成功了。我什至不需要设置 allowArraySyntax。

最佳答案

您是否需要将参数添加到 VM:

-Dsun.lang.ClassLoader.allowArraySyntax=true

关于java - 什么会导致 java.lang.ClassNotFoundException : [B?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17666107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com