由程序部署所引起的思考

近日,工作需要将升级后的版本从Windows迁移到Linux。升级的版本在本地Windows反复测试都没问题,但是当部署到Linux的时候,这怪病一个接一个的。所幸的是,经过努力还是将一道道困难排除,成功部署了。
  这其中遇到的一个问题是无法获得Weblogic的上下文环境。始终得不到Context。

  javax.naming.NoInitialContextException:
  java.lang.NoSuchMethodError: weblogic.management.configuration.KernelMBean.getRefreshClientRuntimeDescriptor()

 
  首先不要被后半部分迷惑:weblogic.management.configuration.KernelMBean.getRefreshClientRuntimeDescriptor()
问题的重点是前半部分java.lang.NoSuchMethodError。
 
抛出java.lang.NoSuchMethodError:表示无法找到某一特定方法时。
 
这样,就一下定位到了问题的大方向。接下来可以分析weblogic.management.configuration.KernelMBean.getRefreshClientRuntimeDescriptor()。
原来问题出在weblogic.jar。这样,问题迎刃而解。工程中引用的weblogic相关jar版本有问题。


解决方案:
工程中引用了weblogic.jar、xbean.jar、wljmsclient.jar3个weblogic相关的jar包。
将Linux服务器上,Weblogic目录下 %weblogic%bea/weblogic92/server/lib/的相关jar包替换了工程中引用到的jar包后就成功了。
 
总结:
解决问题的过程,也就那那么几分钟的事情,复制-替换-编译-打包-部署-测试。可是,在解决的过程中,着实浪费了不少的时间。  
即使,将来遇到什么更怪的没见过的也都没问题java.lang.NoSuchMethodError : XXXXX.XXXXX.XXXXX.XXXXX.XXXXX 任他变成什么、变的多么奇怪都无所谓。

遇到问题不要慌,应该仔细分析分析,这样会比漫步目的在网上搜效果好的多。要培养独立分析解决问题的能力。

本文出自 “程序人生” 博客,转载请与作者联系!

你可能感兴趣的:(部署,职场,思考,程序,休闲)