编程语言
首页 > 编程语言> > 如何在Web应用程序中动态更新(热插拔)jar?

如何在Web应用程序中动态更新(热插拔)jar?

作者:互联网

我在战争档案中有一个webapp,它部署在cloudfoundry上.
应用程序使用的其中一个库(“somelib.jar”)由另一个开发人员制作.

我希望他能够上传几个不同版本的somelib.jar并测试应用程序的行为.
我已经设法将jar上传到部署的WEB-INF / lib目录.我还设法将jar解压缩到WEB-INF / classes中.但是,我还没有设法使用新版本的jar.我尝试了各种黑客,例如this questionthis question中描述的那些,没有任何运气.

每次,第一次加载的类/ jar都会在之后使用,即使我们替换了上面目录中的实际.class或.jar文件.

有没有简单的方法来实现我想要的?

注意:由于我无法控制Tomcat(运行的地方),因此无法配置Tomcat或对服务器进行任何更改.我只能控制我的war文件,所以一切都需要以编程方式完成.

编辑:我想要的原因是减少我们的测试时间.目前有人给我一个新版本的somelib.jar,我将它重新打包到我的应用程序中,上传到CF,发送给他一个通知,然后他测试新jar的行为.我更喜欢的是他将他的罐子直接上传到CF并在他有新版本时进行测试而没有不必要的中间延迟.

解决方法:

在tomcat 7中,您可以对WAR文件进行版本控制,新版本将逐步启动.

http://www.tomcatexpert.com/blog/2011/05/31/parallel-deployment-tomcat-7

标签:java,tomcat,hotswap,cloudfoundry,web-inf
来源: https://codeday.me/bug/20190529/1179412.html