2014-10-05 7 views
0

나는 이클립스에 있는데 얼마 전이 방법을 사용했다 : http://docs.oracle.com/javaee/7/api/javax/servlet/ServletResponse.html#setContentLengthLong(long) 이제는 작동하지 못한다. 내가 JDK 1.7를 사용하고 난 pom.xml에 다음과 같은 의존성을 삽입 한 : 나는 청소와 메이븐과 함께 프로젝트를 업데이트HttpServletResponse에서 setContentLengthLong (long len) 메서드를 찾을 수없는 이유는 무엇입니까?

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

. 나는 Eclipse를 닫고 열었다. 내가 쓸 때 :

response.setContentLengthLong(downloadFile.length()); 

를 내가 얻을 : 내가 잘못 뭐하는 거지

The method setContentLengthLong(long) is undefined for the type HttpServletResponse 

?

+0

아마도 일식 메이븐 협력이 잘 작동하지 않을 수 있습니다. maven 명령 줄 도구로 프로젝트를 빌드 해 보았습니까? – Matthias

+3

서블릿 API의 다른 버전도 클래스 경로에 있습니다. 이클립스에서 HttpServletResponse 클래스를 열고 탐색기에서 어떤 jar 파일이 있는지 살펴 봅니다. –

+0

@ JBNizet 네 말이 맞아. Apache Tomcat 7.0.35'servlet-api.jar'와 충돌합니다. 내가 무엇을 할 수 있을지? – Ariel

답변

0

가장 큰 원인은 게시물의 두 번째 댓글 일 것입니다. "서블릿 API의 몇 가지 다른 버전이 클래스 경로에 또한 이클립스에서 HttpServletResponse를 클래스를 열고, 단지 그것의 일부 파일 탐색기에서 보면 -.. JB Nizet"

http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html

당신이 보면 jdk 6에 대한 문서는 해당 메소드가 없다는 것을 알 수 있습니다.

0

오늘 같은 문제가 발생했습니다. IDEA를 사용 중이므로 maven 탭에서 "Show Dependencies"를 열고 "servlet-api"를 검색합니다. 버전 2.4가 있습니다.

pom.xml에서 제외하고 빌드를 완료했습니다.