我在Eclipse中,前段时间我正在使用这种方法:http://docs.oracle.com/javaee/7/api/javax/servlet/ServletResponse.html#setContentLengthLong(long)现在我无法设法使用它。我使用的是JDK 1.7,我在pom.xml
中插入了以下依赖项:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
我已经使用Maven清理和更新了项目。我甚至关闭并打开了Eclipse。我写的时候:
response.setContentLengthLong(downloadFile.length());
我明白了:
The method setContentLengthLong(long) is undefined for the type HttpServletResponse
我做错了什么?
答案 0 :(得分:0)
最可能的原因是你帖子的第二条评论。 “其他版本的servlet api也在你的类路径中。在Eclipse中打开HttpServletResponse类,并在资源管理器中查找它所属的jar文件.-- JB Nizet”
http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html
如果您查看jdk 6的文档,您会发现它不包含该方法。
答案 1 :(得分:0)
我今天遇到了同样的问题。 我正在使用IDEA,所以我从maven选项卡中打开“Show Dependencies”,并搜索“servlet-api”,其中有一个版本为2.4。
从pom.xml中排除它,并且构建成功。
答案 2 :(得分:0)
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
代替
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
使用..然后...解决了.....