WebSphere App Server未编译JSP /标记库

这是仅在应用程序更新时发生的问题(仅通过管理控制台而不是CLI进行测试)。 此外,这只发生在我们的开发环境中,这与我们的产品环境相同。 在卸载/安装时,一切都正确编译。 但是,这是一个大型应用程序,需要很长时间才能进行更新 – 我们不希望每次都卸载/安装(特别是在开发版本中)。

正在生成JSP .java和.smap文件,但不生成.class。 在prod上,没有.smap – 只有.java和.class。 如果JSP会编译,我们相信标签库也会被编译。

有没有人遇到过这个问题,或者知道我们可能会忽视什么?

WAS版本:6.1.0.17

非常感谢!

编辑:这只发生在一个JSP及其使用的标记库中。 我们正试图解决这个问题。 让我们知道我们是否有任何想法。 我们认为根据此修复程序 ,.SMAP文件可能存在问题

解:

问题是 :WAS已启用调试。 这生成了.smap文件(源映射)而不是.class文件。 一旦我们发现了这一点,我们在管理控制台下禁用了调试服务(应用服务器> server1>调试进程>取消选中’启动服务’)。 我不知道为什么这只会在更新时产生错误,但无论如何,问题都解决了。

一个建议:

您是否检查过您的环境中有一个指向JDK的JAVA_HOME,而不仅仅是一个JRE。 JRE没有javac,因此没有办法将JSP编译器在运行时创建的.java文件编译成.classes?

编辑:此外,也许这个链接可能会有所帮助?

我没有使用taglibs,但我可以告诉你:

应用程序服务器检查时间戳。 非常确定从应用程序服务器的角度来看,JSP文件的“修改”时间戳是合理的(比如,将来不会)

希望这可以帮助您解决问题……