当WAR的大小为41M时,如何避免在WAR中复制40M的java lib?

kos*_*ant 6 java ant tomcat build-process

目前,我的构建过程包括使用WEB-INF/lib下的所有必需的Java库重新打包war文件,然后将war文件复制到开发/演示/生产服务器以由tomcat重新部署.

打包的war文件大小约为41M,目前它有40M的外部java库.一定有更好的方法.你是怎么解决这个问题的?

我的开发机器是一个Windows框,Eclipse作为我的IDE,Ant作为我的构建工具.这些服务器都是带有Tomcat 5.5的Linux机器.

我是否应该将jar文件添加到服务器端的war包中?

dig*_*oel 17

我可以看到你在说什么,并且对我们的一些webapp也有同样的挫败感,但为了保持一致,我建议你保持原样.如果将库复制到tomcat/lib目录,则可能会遇到系统类路径与webapp类路径的问题.

通过保持原样,您确信在开发/演示中部署与生产中相同的内容.当你手动调整生产中的东西时,生活很糟糕,或者你有一些疯狂的错误,因为你忘了在生产中将版本1.6更新XYZ.jar到1.6.1_b33,现在它的行为与你认为的完全相同的代码相同.

当使用足够重要的东西来开发dev/demo/production系统时,我认为一致性比.war文件大小更重要.


ska*_*man 5

我们使用rsync工具(在我们的例子中,在windows下使用cygwin)将部署复制到服务器(运行linux).我们使用爆炸的WAR/EAR文件(即名为MyApp.war的目录结构而不是名为MyApp.war的zip文件),rsync只会传输已更改的文件.

在一般使用中,rsync将在大约5秒内传输30-40兆字节的爆炸EAR.