如何在我的Java解决方案中包含servlet-api.jar



我有一个Java解决方案,需要在我的类路径中包含servlet-api.jar

如果我将servlet-api.jar从我的tomcat文件夹复制到项目文件夹,它就可以工作。但是当我升级到Java7时,servlet-api.jar是一个新版本,需要替换。

我有什么办法可以绕过这个问题吗?我不认为我可以直接指向我的tomcat文件夹在我的本地开发机器…

问题不在于选择Java 7还是其他版本的JDK。问题是:您希望在web应用程序中使用哪个版本的servlet API规范。当然,这种选择也会对您将要使用的servlet容器产生影响。例如,如果选择servlet 3.0,则必须使用Tomcat 7,而不是Tomcat 6。

因此,首先选择您想要使用的API(以及容器)的版本,然后将相应的jar添加到您的项目中,并在类路径中使用该jar进行构建。只是要确保不要将这个jar文件添加到你部署的WEB-INF/lib文件夹中。jar应该只用于编译。在运行时,容器在它自己的类路径中已经有了这个jar。

我不喜欢使用servlet api jar来满足ant构建。比方说,我们从Tomcat 6.0.42迁移到6.0.43或7.x.x。或者去玻璃鱼。必须有人确保从tomcat安装中获取最新的jar并将其替换到项目中。

servlet-api.jar重命名为servlet-api-tomcat-6.0.42.jar可能是一种解决方案。它还可能向开发人员表明,当我们更改Web容器时必须替换它。有更清洁的解决方案吗?

最新更新