在扩展我的应用程序功能的过程中,我在applicationContext的现有bean定义中添加了一些额外的bean引用。我在我的java类中包含了他们的getter和setter。 A类现在新引用Bean B和C,在A类中,我为B和C添加了getter和setter,并在Class A中的方法中使用了这些getter。 Beans B和C只不过是Maps,并且有一个D类,我将值放入这些bean中。 现在,我没有在生产机器中再次生成整个war文件,而是在本地副本中生成了war。从这次战争中,我选择了A和D类,并用这些新类替换了生产机器上的类。另外,我替换了applicationContext.xml。 在生产机器上重启tomcat之后,我得到了A类的NPE,这是因为bean B的getter。我的值似乎没有被注入bean中。
我该怎么做才能解决这个问题?我不想在我的生产机器上重新部署整个战争。
答案 0 :(得分:0)
如果你重新启动tomcat,它将解压缩任何存在的war文件,覆盖你手动手动所做的任何更改。如果我理解正确,你试图将类文件复制到爆炸战争中。不是一个特别好的主意。
您不必在部署的同一台计算机上生成war文件(事实上这很不寻常)。您可以应用特定设置以了解。