尝试在命令行上运行Java Spark应用程序时出现NoClassDefFoundError

尝试在命令行上运行Java Spark应用程序时出现NoClassDefFoundError,java,apache-spark,classnotfoundexception,noclassdeffounderror,deploying,Java,Apache Spark,Classnotfoundexception,Noclassdeffounderror,Deploying,我试图在java上使用spark运行应用程序,但当我尝试mvn包时;mvn exec:java我一直遇到NoClassDefFoundError 当我尝试在PowerShell和Intellij中运行该程序时,不断出现相同的错误(如下)。当我删除一堆maven依赖项时,错误消失了,servlet在localhost上运行 错误消息: Exception in thread "Thread-0" java.lang.NoClassDefFoundError: javax/servlet/http/

我试图在java上使用spark运行应用程序,但当我尝试
mvn包时;mvn exec:java
我一直遇到NoClassDefFoundError

当我尝试在PowerShell和Intellij中运行该程序时,不断出现相同的错误(如下)。当我删除一堆maven依赖项时,错误消失了,servlet在localhost上运行

错误消息:

Exception in thread "Thread-0" java.lang.NoClassDefFoundError: javax/servlet/http/HttpSessionIdListener
    at org.eclipse.jetty.server.session.SessionHandler.<clinit>(SessionHandler.java:140)
    at spark.embeddedserver.jetty.EmbeddedJettyFactory.create(EmbeddedJettyFactory.java:43)
    at spark.embeddedserver.EmbeddedServers.create(EmbeddedServers.java:65)
    at spark.Service.lambda$init$2(Service.java:497)
    at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpSessionIdListener
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 5 more
线程“thread-0”java.lang.NoClassDefFoundError中的异常:javax/servlet/http/HttpSessionIdListener 位于org.eclipse.jetty.server.session.SessionHandler.(SessionHandler.java:140) 位于spark.embeddedserver.jetty.EmbeddedJettyFactory.create(EmbeddedJettyFactory.java:43) 位于spark.embeddedserver.EmbeddedServers.create(EmbeddedServers.java:65) 位于spark.Service.lambda$init$2(Service.java:497) 位于java.base/java.lang.Thread.run(Thread.java:835) 原因:java.lang.ClassNotFoundException:javax.servlet.http.HttpSessionIdListener 位于java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) 位于java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) 位于java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 还有5个 我从pom.xml中删除的依赖项:


com.googlecode.json-simple
简单json
1.1
edu.stanford.nlp
斯坦福大学科伦普
3.9.2
mysql
mysql连接器java
8.0.13
edu.stanford.nlp
斯坦福大学科伦普
3.9.2
模型
servlet仅使用spark依赖项即可正常运行:

        <dependency>
            <groupId>com.sparkjava</groupId>
            <artifactId>spark-core</artifactId>
            <version>2.6.0</version>
        </dependency>

com.sparkjava
火花芯
2.6.0

但是,如果我再添加任何异常,则会发生

已解决!sparkjava依赖项还需要5个依赖项才能正常工作,可以在这里找到:

Update:导致问题的只是edu.stanford.nlp依赖项可能是某些依赖项问题,有些依赖项需要某些特定版本的jar,