Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Intellij Idea Tomcat和Spring MVC模板_Java_Spring_Tomcat_Intellij Idea - Fatal编程技术网

Java Intellij Idea Tomcat和Spring MVC模板

Java Intellij Idea Tomcat和Spring MVC模板,java,spring,tomcat,intellij-idea,Java,Spring,Tomcat,Intellij Idea,我刚刚开始玩SpringMVC。我安装了Intellij Idea和Tomcat服务器,然后从SpringMVC模板创建了一个新项目。当我运行它时,我得到了错误: Servlet.init() for servlet mvc-dispatcher threw exception 我通过将JavaJDK从1.8版更改为1.7版解决了这个问题。当我运行它时,我得到了以下错误: java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.

我刚刚开始玩SpringMVC。我安装了Intellij Idea和Tomcat服务器,然后从SpringMVC模板创建了一个新项目。当我运行它时,我得到了错误:

Servlet.init() for servlet mvc-dispatcher threw exception
我通过将JavaJDK从1.8版更改为1.7版解决了这个问题。当我运行它时,我得到了以下错误:

java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.pages.hello_jsp
要修复它,我必须删除:

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

javax.servlet
servlet api
2.5

从我的pom.xml文件,现在它可以工作了。有人能告诉我为什么这个模板在没有这些更改的情况下不能工作吗?

如果没有关于错误的更多详细信息,我无法回答您为什么需要更改Java版本

至于
ServletAPI
依赖关系,这是因为Tomcat包含了自己的
ServletAPI
实现。所以发生了冲突。您要做的是将依赖项添加回POM中,其范围为提供的
。这样,您的IDE就可以在构建时使用它了。(当然,除非您从其他地方获得
servlet api
,比如
javaee api
依赖项)


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