我有一个Java解决方案,需要在我的类路径中包含 servlet-api.jar 。
如果我将 servlet-api.jar 从我的tomcat文件夹复制到项目文件夹,它就可以工作。但是当我升级到Java7时, servlet-api.jar 是一个新版本,需要更换。
无论如何我可以解决这个问题吗?我不认为我可以直接将它指向我本地开发机器上的tomcat文件夹......
答案 0 :(得分:2)
问题不在于Java 7与另一版JDK的选择。问题是:您希望在Web应用程序中使用哪个版本的servlet API规范。这种选择当然也会对您能够使用的servlet容器产生影响。例如,如果选择servlet 3.0,则必须使用Tomcat 7,而不是Tomcat 6.
因此,首先选择要使用的API版本(以及容器),然后将相应的jar添加到项目中,并在类路径中使用此jar进行构建。只需确保不要将此jar文件添加到已部署的webapp的WEB-INF / lib文件夹中。该jar只应用于编译。在运行时,容器已在其自己的类路径中具有此jar。
答案 1 :(得分:0)
我不喜欢使用servlet api jar来满足ant build。 比如说,我们从Tomcat 6.0.42迁移到6.0.43或7.x.x.或者到Glassfish。 有人必须确保从tomcat安装中获取最新的jar并在项目中替换它。
将servlet-api.jar
重命名为servlet-api-tomcat-6.0.42.jar
可能是一种解决方案。它还可能向开发人员表明,当我们更改Web容器时必须更换它。
有更清洁的解决方案吗?