我们正在使用 WebLogic 10.3.4 开发一个网络应用程序。我们的 UI 团队正经历着从 JSP 编辑到在浏览器中看到结果之间的缓慢周转时间的痛苦。使用 Tomcat 7.0 时事情要容易得多,但它使用的 JSP 编译器与我们的目标编译器不同。
我的问题是,是否可以换掉 Tomcat 中的默认编译器并替换为 WebLogic 中的编译器?如果是这样,我该怎么做?我们知道可以从命令行调用 WebLogic 编译器(我们的构建中有它)。看起来你可以 do this with the IBM Jikes compiler过去,但我找不到任何关于 WebLogic 的提及。
最佳答案
--- 编辑为问题略有变化 ---
您不能轻易地将 Tomcat JSP 编译器替换为另一个 JSP 编译器,因为 Tomcat JSP 编译器已集成到 Tomcat 中。虽然所有 JSP 编译器都以类似的方式运行,但将一个系统与另一个编译器集成的成本是这种交换不容易执行的原因。大多数 Web 容器不会在进程外调用这些编译器,而是在 Web 容器中的专用线程上启动它们。
也就是说,也许您可以完全避免在 Web 容器中进行编译。如果您使用 Tomcat 或 Weblogic JSP 编译器预编译您的 JSP 页面,那么您可以简单地将以前的 JSP 页面作为 .class 文件打包到 WAR 中,并且当第一次访问前面提到的 JSP 时文件,Web 容器将不必暂停超过类访问时间的额外时间来将 JSP 编译成 .class 文件。
JSP 编译器与常规 Java 编译器非常相似,主要的区别在于它们将 JSP 文件作为“源代码”而不是 .java 文件。为 JSP 编译器计算出参数、CLASSPATH 和参数后,就可以像处理常规 .java 文件一样将其集成到构建链中。
Details on precompiling with Tomcat's JSP compiler .
Some information on precompiling with Weblogic's JSP compiler.
--- 原帖如下---
是的,这是可能的;前提是两者的编译器都支持相同的 Java 版本,并且配置为编译为相同的 Java 版本。
关于java - 在 Tomcat 中使用 WebLogic JSP 编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5005397/