NoClassDefFoundError при попытке запустить приложение Java Spark из командной строки - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь запустить приложение, используя spark на java, но когда я пытаюсь mvn package; mvn exec:java, я продолжаю сталкиваться с NoClassDefFoundError.

Когда я пытался запустить программу в PowerShell и в Intellij, и продолжаю получатьта же ошибка (ниже). когда я удаляю группу зависимостей maven, ошибка исчезает и сервлет запускается на 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

зависимости, которые я удалил из pom.xml:

<dependency>
            <groupId>com.googlecode.json-simple</groupId>
            <artifactId>json-simple</artifactId>
            <version>1.1</version>
        </dependency>

        <dependency>
            <groupId>edu.stanford.nlp</groupId>
            <artifactId>stanford-corenlp</artifactId>
            <version>3.9.2</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.13</version>
        </dependency>

        <dependency>
            <groupId>edu.stanford.nlp</groupId>
            <artifactId>stanford-corenlp</artifactId>
            <version>3.9.2</version>
            <classifier>models</classifier>
        </dependency>

сервлет работает правильно только с зависимостью искры:

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

, но если я добавлю больше, произойдет исключение

1 Ответ

0 голосов
/ 17 октября 2019

Решено! Для работы зависимости sparkjava потребовалось еще 5 зависимостей, которые можно найти здесь: https://mvnrepository.com/artifact/com.sparkjava/spark-core/2.9.1

...