找不到符号符号:( maven和POM)

时间:2014-07-15 12:46:08

标签: java maven

我终于修复了我的POM中几乎所有错误的maven编译,但仍有一个错误的依赖(?) 在我的servlet类中,有5个错误类型

cannot find symbol
  symbol:   method getDispatcherType()
  location: variable request of type javax.servlet.http.HttpServletRequest
cannot find symbol
  symbol:   variable FORWARD
cannot find symbol
  symbol:   variable REQUEST

我在POM中添加了

<dependency>
            <groupId>javax.servlet.jsp.jstl</groupId>
            <artifactId>javax.servlet.jsp.jstl-api</artifactId>
            <version>1.2.1</version>
        </dependency>

和(http://mvnrepository.com/artifact/javax.servlet.jsp.jstl/javax.servlet.jsp.jstl-api/1.2.1

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

因为getDispatcherType来自包javax.servlet; 但它仍然找不到这种方法,也许有人可以告诉我这个POM描述有什么问题?

PS:org.glassfish.web:javax.servlet.jsp.jstl:1.2.1也存在

3 个答案:

答案 0 :(得分:1)

你对jstl有错误的依赖。你应该使用:

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

你的jsp依赖是正确的。

答案 1 :(得分:0)

最后经过一段时间的拧紧后,我发现究竟是什么造成了这样的麻烦 - tomcat-servlet-api的依赖必须是第一部分。 顺便说一句,我使用的是7.0.50版本。

答案 2 :(得分:-1)

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>

如果您愿意,请更新版本