我按照BalusC在JSF 2.0 File upload的回答中的步骤进行了操作。我采用不同的唯一步骤是答案中的Tomahawk上传链接。链接坏了,所以我从另一个地方得到了tomahawk-1.1.11。当我尝试从Eclipse启动Tomcat 7.0.14时,我收到以下错误:
java.lang.NoSuchMethodError:
javax.servlet.ServletContext.getServletRegistrations()Ljava/util/Map;
Tomcat没有启动。有任何想法吗?此外,该链接的答案是从三月。在JSF 2中使用文件上传的任何开发?
答案 0 :(得分:0)
您的网站项目的/WEB-INF/lib
混杂了不同品牌/版本的容器的servletcontainer特定库,例如servlet-api.jar
,javaee.jar
等。摆脱它们。
The mentioned method,这个错误表明你的/WEB-INF/lib
中有一个或更早的Servlet 2.5容器库。如果你已经将它们包含在javax.servlet.*
导入中绕过Eclipse的编译错误,那么你应该以不同的方式解决它。也就是说,通过将您实际要使用的servletcontainer(在您的情况下是Tomcat 7)集成为Eclipse中的目标运行时并将项目与它相关联。
请注意,此问题与JSF 2.0无关。您有一个异常指向javax.servlet
包的方法,而不是javax.faces
包。