WebSphere v7中重新部署的EAR并不反映一些细微的代码更改

时间:2014-06-09 16:21:48

标签: java deployment websphere

我对我的代码进行了一些微调,以解决一些安全问题。变化非常小。我还更改了我的jsp中的一个链接,以摆脱旧的过时网站,并显示新的链接。

问题是,我的安全代码修复程序都没有出现在环境中。我已经三次检查代码是否在我的存储库中一直被推送。当我从WAS控制台导出EAR并查看代码时,通过7 ZIP和记事本,我的所有更改都在那里。但是,当在服务器上运行非常相同的EAR时,它会神奇地保留过时的有缺陷的代码。为了使这更令人困惑,我的.jsp链接更改显示没有问题,完全按照我的意图。我不能,为了我的生活,弄清楚这里发生了什么。

我的直觉认为WAS具有某种类型的.class缓存,在部署新代码时不会被清除。

有没有其他人处理过这样的事情?

5 个答案:

答案 0 :(得分:0)

我遇到了很多Websphere 7的问题。我想避免在部署应用程序时浪费时间,因为流程已停止,删除,部署并再次启动应用程序。所以我开始使用"重新部署"特征

此功能引入了大量的错误,因为Websphere 7重新部署没有部署小的更改,它开始导致工作代码不一致(当然,应该有这种行为的解释)。

所以,我给你的建议是做长时间的过程删除和部署应用程序,而不是使用重新部署功能,避免将来的麻烦

答案 1 :(得分:0)

经过一些修补后,我可以通过“更新”我的应用程序而不仅仅是添加/删除来强制我的代码更改。一个简单的添加/删除 - >停止/启动似乎会使用旧文件,但“更新”耳朵功能强制进行更改。

答案 2 :(得分:0)

我遇到了同样的问题。 请注意,浏览器会保留文件的缓存副本,因此请确保您是否要更新子jsp ,然后还应修改包含子项的父项。 或者您可以尝试清理缓存,这是最简单的过程。

答案 3 :(得分:0)

我在Rational Application Developer 9.0中遇到了与本地WAS 8.5服务器相同的问题。在本地测试应用程序时,代码更改不明显。我尝试了一切:卸载应用程序并重新安装,停止和启动服务器等等。

我能够在本地解决问题的唯一办法就是建立一个新的工作区。

我也在常规的WebSphere 8.5服务器上看到过这种行为(我的意思是,这个服务器不在RAD内部)。我将完全取消部署应用程序(包括"保存更改")然后使用新代码部署新的EAR,但应用程序仍将执行旧代码。这令人抓狂。我找到的解决方法是使用不同的应用程序名称部署EAR,但我无法在生产中使用此解决方法。我赞成这个问题,因为它真的可以使用更明确的答案。

答案 4 :(得分:0)

我在这里回答我自己的问题。

我的问题完全是愚蠢的,我的错。我有一些.class文件保存在我项目的/ bin /文件夹中。当RAD去编译我的项目时,它只是采用了以前编译的.class文件,并决定将它放在.ear中。我只是删除了我的.class文件,它解决了我的问题。

相关问题