【发布时间】:2010-11-06 07:00:44
【问题描述】:
在我们的商店,我们维护着大约 20 个 Java EE Web 应用程序。这些应用程序中的大多数在其架构中都非常类似于 CRUD,其中一些是处理器密集型计算应用程序。
为了部署这些应用程序,我们一直使用 Hudson 设置来监控我们的 CVS 存储库。当我们签入时,项目将被编译并部署到我们的 Tomcat 6.0 服务器(Solaris 10、sparc 双核 1.6 GHz 处理器、2 GB RAM...不是最强大的机器)想象力......)并且,如果项目存在任何单元测试,则执行这些单元测试并且仅在单元测试通过时才部署项目。这很好用。
现在,随着时间的推移,我注意到自己创建的许多项目一遍又一遍地使用相同的 .jar 文件(Hibernate、POI(Excel 输出)、SQL Server JDBC 驱动程序、JSF、ICEFaces、业务逻辑 .jar 文件等)。我们的做法是在我们的网络驱动器上保留一个文件夹,其中存放了我们一直在使用的所有默认 .jar 文件,当一个新项目启动时,我们将这组 .jar 文件复制到新项目中并从那里开始。 ..每次发生这种情况时,我都感到很脏,它开始让我彻夜难眠。我的同事告诉我,在 tomcat 服务器上建立一个 .jar 存储库“非常困难”,我一秒钟都没有购买……我将其归因于纯粹的懒惰,并且可能,不想学习最佳实践。我可能是错的,但是,我只是在表达我对此事的感受。这似乎也增加了部署到服务器的 .war 文件的大小。
据我了解,Tomcat 本身有一组 .jar 文件可供部署到它的所有应用程序访问,因此我认为我们可以将所有这些重复的 .jar 文件合并到所有项目中并移动它们到tomcat服务器上。这将只涉及更新服务器上的一个 .jar 文件,例如,如果我们需要将 ICEFaces .jar 文件更新到新版本。
我的另一部分说,通过在服务器上只包含一个 .jar 文件的副本,我可能还需要在我的开发环境中保留服务器的 lib 目录的副本(即在 eclipse 中包含那些 .jar 文件依赖)。
我的直觉告诉我,我想将那些重复的 .jar 文件移动到服务器上……这行得通吗?
【问题讨论】:
标签: java tomcat jsf jakarta-ee