线程“Thread-2”java.lang.VerifyError中的Spark服务异常

时间:2018-04-24 14:00:15

标签: java apache-spark jetty

我正在调查以下带有以下堆栈跟踪的java.lang.VerifyError.Exception:

Exception in thread "Thread-2" java.lang.VerifyError: class org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection overrides final method toString.()Ljava/lang/String;
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.<init>(WebSocketUpgradeFilter.java:136)
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.<init>(WebSocketUpgradeFilter.java:131)
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.configureContext(WebSocketUpgradeFilter.java:71)
    at spark.embeddedserver.jetty.websocket.WebSocketServletContextHandlerFactory.create(WebSocketServletContextHandlerFactory.java:50)
    at spark.embeddedserver.jetty.EmbeddedJettyServer.ignite(EmbeddedJettyServer.java:123)
    at spark.Service.lambda$init$2(Service.java:549)
    at java.lang.Thread.run(Unknown Source)

依赖

<!-- https://mvnrepository.com/artifact/org.eclipse.jetty.websocket/websocket-server -->
    <dependency>
        <groupId>org.eclipse.jetty.websocket</groupId>
        <artifactId>websocket-server</artifactId>
        <version>9.4.2.v20170220</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-server -->
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-server</artifactId>
        <version>9.4.2.v20170220</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.sparkjava/spark-core -->
    <dependency>
        <groupId>com.sparkjava</groupId>
        <artifactId>spark-core</artifactId>
        <version>2.5.5</version>
    </dependency>
    <dependency>
        <groupId>com.sparkjava</groupId>
        <artifactId>spark-debug-tools</artifactId>
        <version>0.5</version>
    </dependency>
    <dependency>
        <groupId>com.sparkjava</groupId>
        <artifactId>spark-template-velocity</artifactId>
        <version>2.3</version>
    </dependency>

我尝试使用相同版本的jett-server版本和spark,但我得到了相同的结果。 任何想看的地方都会有所帮助。

1 个答案:

答案 0 :(得分:0)

您有Jetty库的混合版本。

处理你的websocket代码的库比你的服务器旧。

运行$ mvn dependency:tree,您将看到混合版本的来源。