Java servlet api 2.5和;JSPAPI 2.1与maven相关

Java servlet api 2.5和;JSPAPI 2.1与maven相关,java,jsp,maven,servlets,spring-mvc,Java,Jsp,Maven,Servlets,Spring Mvc,我正在构建一个sprint mvc应用程序,在部署到tomcat时出现以下错误: "at org.apache.jsp.jsp.welcome_jsp._jspInit" 我查看了可能的解决方案,似乎“ServletAPI”和“JSPAPI”文件受到了污染 参考: && 我找到了我要添加这些文件的地方。我没有在我的webapp的lib文件夹中添加这些文件,而且这些文件在我使用的jdk文件夹中的任何位置都不存在 但是这些文件确实出现在maven依赖项下的构建路径中。我不知道maven是从哪里

我正在构建一个sprint mvc应用程序,在部署到tomcat时出现以下错误:

"at org.apache.jsp.jsp.welcome_jsp._jspInit" 
我查看了可能的解决方案,似乎“ServletAPI”和“JSPAPI”文件受到了污染

参考:

&&

我找到了我要添加这些文件的地方。我没有在我的webapp的
lib
文件夹中添加这些文件,而且这些文件在我使用的
jdk
文件夹中的任何位置都不存在

但是这些文件确实出现在
maven依赖项下的构建路径中。我不知道maven是从哪里弄来的

我的Pom文件:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>KT</groupId>
    <artifactId>KT</artifactId>
    <version>1.0</version>
    <packaging>war</packaging>
    <name>KT Maven Webapp</name>

<properties>
    <org.springframework.version>3.2.3.RELEASE</org.springframework.version>
    <jdk.version>1.6</jdk.version>
</properties>

<dependencies>
    <dependency>
        <groupId>jdk.tools</groupId>
        <artifactId>jdk.tools</artifactId>
        <version>${java.version}</version>
        <scope>system</scope>
        <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
    </dependency>
    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.2.1</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.solr</groupId>
        <artifactId>solr-solrj</artifactId>
        <version>4.4.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.solr</groupId>
        <artifactId>solr-core</artifactId>
        <version>4.4.0</version>
    </dependency>

    <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-parsers</artifactId>
        <version>1.4</version>
    </dependency>
</dependencies>
<build>
    <finalName>KT</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.5.1</version>
            <configuration>
                <source>${jdk.version}</source>
                <target>${jdk.version}</target>
            </configuration>
        </plugin>
    </plugins>
</build>
欢迎来到jsp.java:第21到24行

 public void _jspInit() {
    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
    _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());
  }
我曾尝试添加/删除ServeletAPI和jsp api,并将其作用域更改为提供,但在所有这些情况下,文件仍保留在maven Dependencis下

我已经尝试完全删除存储库,并强制maven更新repos

我正在使用
sts
。我尝试过调整项目方面,但也没有帮助(主要是servlet设置)


任何帮助都将不胜感激。如果您需要更多信息,请发表评论。

因此,我们做了两件事来解决此问题:

1) 检查视图层次结构以查看同一jar文件是否存在冲突版本


2) 如果存在冲突版本,请通过将jar文件升级/降级为单个版本来解决问题

粘贴完整的stacktrace。。根本原因在我看来是显而易见的。你看过你的有效pom或依赖树了吗?(mvn帮助:有效pom,mvn依赖项:树)粘贴堆栈跟踪。现在看一下依赖关系树这很可能是jar冲突的问题,主要是Tomcat。尝试添加这个依赖项
javax.servlet.jsp jsp api 2.1
,我已经尝试过了,也尝试过添加提供的依赖项。它不起作用
 public void _jspInit() {
    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
    _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());
  }