我们部署的 Web 服务出现问题;用户无法登录,我们的日志显示错误和异常堆栈跟踪。Dev 解决了这个问题并提供了一个新的包来部署。
当我部署新包并尝试使用它时,我们仍然得到与之前完全相同的错误和异常堆栈跟踪,一直到堆栈跟踪中的相同文件/行号。一些行号甚至不指向任何可能导致错误的东西,而是指向行号上的空白,该行号曾经有导致错误的有问题的行。
取消部署/重新部署,同样的事情。
重新启动 JBoss,同样的事情,取消部署/重新部署,同样的事情。
取消部署,将导致错误的文件移动到“file.jar.bak”,使其“不存在”,然后重新部署......部署失败(很好,此时应该) - 现在有一个错误它无法部署,因为找不到文件。好的,那很好,至少它正在关注我正在更改文件的事实。但是现在将“file.jar.bak”移回“file.jar”并再次重新部署,它再次提供与旧部署相同的错误/行号,而不是新部署!
到底是怎么回事???也许旧的缓存在某个地方?还有什么可能导致这种情况。
叹息我现在感觉很笨。在输入我的问题后,在思考和编辑它的同时,我突然想到了什么,我修复了它。无论如何,我仍然会发布它,并分享我的愚蠢错误,以防它帮助其他人......
我们正处于从 JBoss 5 迁移到更新版本的最后阶段。较新的版本对如何构建“ear”档案中的某些目录结构或文件更加严格。我们的 jar 文件曾经位于存档的根目录,但为了满足新的更严格的准则,它们应该位于存档的“lib/”目录中,而不是仅位于存档的根目录中。
好吧,创建了 lib 目录,并且将 jar 文件放在了那里——甚至是我——但文件被复制了,而不是移动了。所以根目录下有 jar 文件的副本,而 lib/ 目录下有 jar 文件的副本。我们一直在覆盖根目录中的副本,这就是我们的更改被忽略的原因,因为它在 lib/.