一尘不染

Tomcat 6转换为Glassfish v3:servlet-api,el-api jars

tomcat

从eclipse构建Web应用程序时,我使用了ant来部署到Tomcat 6,servlet-api.jarel-api.jar在Tomcat
6发行树中进行引用并引用它,而不是将它们放入我的已部署库文件夹中。

我正在尝试部署到Glassfish v3。我已经从www.java2s.com网站上提取了这些jar。

  1. 这是得到他们的正确地方吗?
  2. 我是否需要这样做?我在Glassfish中搜寻,但jar不在
  3. 如果我根本不需要这样做,是否还要采取另一种措施来确保相同的功能可用?

阅读 236

收藏
2020-06-16

共1个答案

一尘不染

看到这个问题以及您发布的其他问题,我觉得您做的事情完全错误。这只是一个答案,应该使一切变得正确。

  • 永远 不应在类路径中徘徊着servlet容器特定库的单独副本。

  • 绝对 不应将servlet容器特定库的副本放在web应用程序的中WEB-INF/lib

  • 在像Eclipse这样的IDE中, 永远不要 在项目的构建路径中单独添加特定于servletcontainer的库。

  • 简而言之: 根本不要 触摸servlet容器特定的库。甚至不要考虑单独下载它们。那是麻烦的简单秘方。具有不同servletcontainer的独立库只会导致类路径冲突。servletcontainer应该被下载并作为整体使用。

  • 在Eclipse中,集成servlet容器(Tomcat或Glassfish)时,只需将其添加到“ 服务器” 视图中即可。

  • 要将动态Web项目与特定的servlet容器(服务器)相关联,以便可以编译servlet等,需要在项目属性的“ 目标Rumtimes” 部分中选择它。然后,借助Eclipse的智能性,一切都会自动顺利进行。这也是必要时更改servletcontainer实现的地方。在创建全新的动态Web项目时,只需从向导中的服务器下拉列表中选择所需的servlet容器实现即可。

要创建WAR时,只需右键单击动态Web项目,选择“ 导出” ,然后选择“ WAR文件” 。不需要单独的蚂蚁任务左右。

2020-06-16