【问题标题】:WebSphere App Server Not Compiling JSP/Tag LibsWebSphere App Server 不编译 JSP/标签库
【发布时间】:2008-10-15 15:04:38
【问题描述】:

这是仅在应用程序更新时出现的问题(仅通过管理控制台测试,而不是 CLI)。此外,这只发生在我们的开发环境中,这与我们的 prod 环境相同。在卸载/安装时,一切都正确编译。但是,这是一个大型应用程序,需要很长时间才能进行更新——我们不想每次都卸载/安装(尤其是在开发构建期间)。

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

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

WAS 版本:6.1.0.17

编辑: 这仅发生在一个 JSP 及其使用的标记库中。我们正在尝试解决问题。让您知道我们是否解决了任何问题。我们认为this fix 的 .SMAP 文件可能存在问题

SOLUTION

【问题讨论】:

    标签: java jsp websphere jsp-tags


    【解决方案1】:

    解决方案:

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

    【讨论】:

      【解决方案2】:

      一个建议:

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

      编辑:另外,这个link 可能有帮助吗?

      【讨论】:

      • 任何 Java 类都在编译,问题似乎只存在于 JSP 源文件以及它们使用的标记库中。同样,这只发生在“更新”期间,而不是在应用程序的全新安装期间。不过,感谢您的意见。
      • 我猜您的 java 类在您的构建期间正在编译,这与 Websphere 应用服务器运行时使用的环境不同?
      • 但是,我还是检查了,路径中是 /usr/java14/bin,包含 javac,它在 /usr/java14/jre/bin 之前,所以我认为我们可以消除这种可能性。
      • 是的,它建立在一个环境中,并部署到驻留在另一个环境中的服务器上。
      【解决方案3】:

      我没有使用过标签库,但我可以告诉你:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-09
        相关资源
        最近更新 更多