首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java文件共享

Java文件共享
EN

Stack Overflow用户
提问于 2009-06-26 22:00:17
回答 4查看 2K关注 0票数 1

在我们的商店里,我们维护了大约20个Java应用程序。大多数这些应用程序在其体系结构中都很像CRUD,其中有几个是相当密集的处理器计算应用程序。

对于这些应用程序的部署,我们一直使用Hudson设置来监视我们的CVS存储库。当我们签入时,这些项目将被编译并部署到我们的Tomcat6.0服务器上(Solaris 10,sparc双核1.6 GHz处理器,2 GB RAM...not -任何想象中最强大的机器.)而且,如果项目存在任何单元测试,那么这些测试就会被执行,并且只有当单元测试通过时,项目才会被部署。这个很好用。

现在,随着时间的推移,我发现我创建的许多项目一次又一次地使用相同的.jar文件(Hibernate、POI (Excel )、Server驱动程序、JSF、ICEFaces、业务逻辑.jar文件等等)。我们的做法是只在网络驱动器上保存一个文件夹,存储我们一直使用的所有默认.jar文件,当一个新项目启动时,我们会将这组.jar文件复制到新项目中,然后离开there...and,每当这种情况发生时,我感到非常脏,以至于我晚上都睡不着觉。我的同事告诉我,在tomcat服务器上建立一个.jar存储库是“极其困难的”,我一秒钟也不买.我把它归因于纯粹的懒惰,可能也不想学习最佳实践。我可能错了,不过,我只是说说我对这件事的感受。这似乎使部署到服务器上的.war文件的大小增大了。

据我所知,Tomcat本身有一组.jar文件,所有部署到它的应用程序都可以访问这些文件,因此我认为我们可以将所有这些重复的.jar文件合并到我们的所有项目中,并将它们移到tomcat服务器上。这将只需要更新服务器上的一个.jar文件,例如,如果我们需要将ICEFaces .jar文件更新为新版本。

我的另一个部分说,通过在服务器上只包含一个.jar文件的副本,我可能还需要在我的开发环境中保留服务器的lib目录的一个副本(即将那些.jar文件包含在eclipse依赖项中)。

我的直觉告诉我,我想把那些复制的.jar文件移到server...will上。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-06-26 22:55:14

我认为Maven和Ivy生来就是为了帮助管理JAR依赖关系。也许你会发现这些很有帮助。

关于在每个项目中复制JAR还是将它们放到服务器/库中的争论,我认为这取决于一点:您希望同时升级部署在Tomcat上的每个应用程序的可能性有多大?你能想象有一天你可能会在服务器上运行N个应用程序,而(N+1)th应用程序可能需要或需要一个更新版本的特定JAR吗?

如果你不介意让所有的应用程序保持同步,那么一定要让它们使用一个公共库库。

就我个人而言,我认为磁盘空间很便宜。我喜欢复制每个应用程序的WAR,并将它们放入WAR文件中。我喜欢分区。当OSGi变得更加主流的时候,我希望看到更多。

票数 2
EN

Stack Overflow用户

发布于 2009-06-26 22:03:01

它大多数情况下都能工作,但是您可能会遇到一些烦人的情况,您已经移动到tomcat中的jar正在尝试在web应用程序jar中创建一个类的实例,从而导致抛出ClassNotFoundException。我以前经常这样做,但是因为这些问题而停止了。

票数 1
EN

Stack Overflow用户

发布于 2009-06-27 00:36:35

我真的不认为把库放在一起/库是个好主意。将war文件作为应用程序使用到servlet容器中的想法是为了真正了解war应用程序之间的隔离。您可能会遇到一些错误,比如部署一些第三方WAR (在webapp/lib中部署它自己的库),而且它的行为是意外的,因为它从普通的加载库加载了其他版本的it库(请记住,load类的常规行为首先是查看公共类加载器,如果找不到该类,请查看WEB应用程序的类)。甚至不要提到将某个应用程序移动到其他servlet容器或application会有多痛苦。如前所述,您可以使用maven处理jar依赖关系,如果您喜欢库的同构使用,则可以在所有应用程序中定义POM父级(maven行话)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1051458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档