Импорт проекта при начальной загрузке в IntelliJ IDEA с ошибкой - PullRequest
0 голосов
/ 09 марта 2019

Я импортирую spring-boot проект web maven в IntelliJ, Мой проект работал в инструментах Eclipse и STS.У меня есть ошибка ниже:

/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/bin/java "-javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=50562:/Applications/IntelliJ 
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/Filter
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
    at java.lang.Class.getMethod0(Class.java:3018)
    at java.lang.Class.getMethod(Class.java:1784)
    at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: javax.servlet.Filter
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 7 more
Process finished with exit code 1

Пожалуйста, помогите решить ее.Спасибо.

1 Ответ

0 голосов
/ 09 марта 2019

Обычно это происходит, когда вы забыли добавить Servlet связанные зависимости в ваш проект, особенно когда вы импортируете проект, который был построен на Eclipse, где у вас есть возможность подключить сервер (например, Apache Tomcat) в проекте Build Path.

Так что в новой IDE (в вашем случае IntelliJ) вы должны сделать то же самое, но я предлагаю добавить необходимые зависимости, тогда она будет работать со всеми IDE.

Попробуйте добавить ниже зависимости в вашем проекте pom.xml:

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.0</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

Версия зависимостей, которую вы можете изменить в соответствии с требованиями проекта.

В качестве альтернативы, если у проекта есть зависимость spring-boot-starter-tomcat, убедитесь, что он имеет область видимости compile, как показано ниже:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>compile</scope>
        </dependency>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...