一共两个地方需要修改:
一:缓存目录
/opt/IBM/WebSphere/AppServer/profiles/<节点名>/config/cells/<cell_name>/applications/<ear_name>/deployments/<app_name>/<war_name>/WEB-INF
web.xml、web_merged.xml
二:应用目录: 四个文件内容必须保持一致
提示:修改完后重启was服务器即可生效
近日碰到更新web.xml文件到WAS服务器(WebSphere Application Server 8.5.5.3)后,不生效的问题。 网上找了一圈,基本都是说WAS缓存引起的。
手动更新了缓存目录下(config\cells\<cell_name>\applications\<ear_name>\deployments\<app_name>\<war_name>\WEB-INF)的web.xml文件后,重启WAS,还是不生效。
几经折腾还是没有效果,突然回想起部署应用时,发现部署完后应用目录WEB-INF下会新增很多文件(包括ibm_开头的那几个文件),其中有个web_merged.xml文件。
打开web_merged.xml一看,果然,里面包含了web.xml的内容,但是,是旧的内容。
问题原因就这样找到了,下面就是解决方案:
方案一 更新web.xml的同时,把改动也更新到web_merged.xml把更新完的两个文件,复制到配置缓存目录下(config\cells\<cell_name>\applications\<ear_name>\deployments\<app_name>\<war_name>\WEB-INF)。最后,你需要重启一下WAS服务。方案二 使用WAS的web控制台进行更新web.xml文件(登陆控制台,选择程序后点击“更新”,选择“替换或添加单个文件 ”,然后参考下图)。 WAS会自动把更改同步到web_merged.xml以及缓存目录下。(相当于WAS帮你进行了方法一的操作) 使用这个方法,你甚至都不需要重启WAS,也不需要重启应用。参考文章:https://www.cnblogs.com/danne823/archive/2016/02/26/was_cache.html