在WEB-INF / lib中使用JAR与以前版本的Tomcat

时间:2013-06-17 16:05:45

标签: tomcat servlets jar

我正致力于为应用程序添加类似插件的功能。

我想要的是能够为客户端提供一个JAR文件并让它们放入应用程序并将其“拉入”而无需对配置文件或其他内容进行任何更改。

我希望能够将它们放入WEB-INF/lib,因为它支持Servlet 3.0,所以它与Tomcat 7配合得很好。问题是并非所有此应用程序的用户都拥有Tomcat 7,这需要足够灵活,不要强迫他们更新。

是否有人知道实现相同功能的方法,但其方式与旧版Tomcat和Servlet API兼容?

这也是一个Maven项目,因此将其推送到repo也可以正常工作,但这涉及到客户端修改pom.xml,我宁愿远离它。

修改

我认为我找到了一个使用serviceLoader的合适解决方案,但如果有人有更好的想法让我知道。我对这个领域很陌生,所以我愿意接受建议。

2 个答案:

答案 0 :(得分:0)

您也可以将旧版本的Tomcat上的JAR文件直接删除到WEB-INF / lib中。

您只需要确保JAR文件适用于它们被放入的Tomcat版本。所以

  

a)使JAR文件适用于所有必需的Tomcat版本

     

b)为每个tomcat版本创建不同版本的JAR   相应地分发。


问题在于,如果从头开始重新部署Web应用程序,则可能会删除插件JAR。所以你可能需要考虑如何坚持它们。

答案 1 :(得分:0)

如果要使自定义明确且可重复,您可能需要查看Maven WAR叠加层:http://maven.apache.org/plugins/maven-war-plugin/overlays.html