这是仅在应用程序更新时出现的问题(仅通过管理控制台而不是CLI进行测试)。此外,这只发生在我们的开发环境中,这与我们的生产环境相同。在卸载/安装时,所有内容都已正确编译。但是,这是一个大型应用程序,需要很长时间才能进行更新 - 我们不希望每次都卸载/安装(特别是在开发版本中)。
正在生成JSP .java和.smap文件,但不生成.class。在prod上,没有.smap - 只有.java和.class。如果JSP会编译,我们相信标签库也会被编译。
有没有人遇到过这个问题,或者知道我们可能会忽视什么?
WAS版本:6.1.0.17
编辑:这只发生在一个JSP及其使用的标记库中。我们正试图解决这个问题。让我们知道我们是否有任何想法。我们认为每个this fix
的.SMAP文件可能存在问题
答案 0 :(得分:3)
问题:WAS已启用调试功能。这生成了.smap文件(源映射)而不是.class文件。我们发现这一点后,我们在管理控制台下禁用了调试服务(应用服务器> server1>调试流程>取消选中'启动服务')。我不知道为什么这只会在更新时产生错误,但无论如何,问题都解决了。
答案 1 :(得分:1)
一个建议:
您是否检查过您的环境中有一个指向JDK的JAVA_HOME而不仅仅是一个JRE。 JRE没有javac,因此没有办法将JSP编译器在运行时创建的.java文件编译成.classes?
编辑:此外,也许这个link可能有帮助吗?
答案 2 :(得分:1)
我没有使用过taglibs,但我可以告诉你:
应用程序服务器检查时间戳。 非常肯定从应用服务器的角度来看,JSP文件的“修改”时间戳是合理的(比如,将来不会)
希望这可以帮助您解决问题...