我正在使用Eclipse Indigo开发一个Java服务器应用程序,它部署到Jetty。现在我正在尝试使用Spring Security为应用程序添加身份验证。我已将以下定义添加到business-layer-context.xml
:
<security:http>
<security:intercept-url pattern="/**" access="ROLE_USER" />
<security:http-basic />
</security:http>
现在,问题是Eclipse给了我这个错误:错误发生处理'/MyServer/WEB-INF/business-layer-context.xml',这是由 java引起的.lang.NoClassDefFoundError:javax / servlet / Filter 。当我将应用程序部署到Jetty时,它工作正常,因为Jetty包含servlet API
什么是使Eclipse了解应用程序部署到servlet容器的最佳方法,因此API可用?我可以将Jetty servlet JAR添加到Eclipse中的项目构建路径,但这需要每个开发人员在Eclipse中配置Jetty的路径,并且我希望将开发人员特定的配置保持在最低限度。
那么,有没有更好的方法来消除错误?
答案 0 :(得分:4)
您需要将实现Java Servlet API的servlet-api.jar
或相关JAR包含到项目构建路径中。
在Eclipse中,您需要:
servlet-api.jar
或任何实现Java Servlet API的相关jar。完成后,单击“确定”并重建项目。 jar可以在Jetty lib文件夹中找到,因为它运行你的servlet应用程序。
答案 1 :(得分:0)
将服务器库添加到项目lib并将其添加到classpatH。