我已经在Tomcat doc中读到了它可以用JSP页面发送给Tomcat服务器的JDK用它来编译它,问题是如何?
我想要这样做的原因是我正在开发一个页面以集成到正在运行的Web应用程序中,所以我不想更改defred Tomcat jdk设置,但JDK 1.4是默认的不支持List语法为JDK 1.5,如果不用旧的JDK语法重新开发,我就不能放弃它......
如果我的假设完全出错,请纠正我。
如果不能动态发送Tomcat的JDK版本,我怎么能更改默认的JDK,我知道它在$ CATALINA_BASE / conf / web.xml中,但我不知道需要更改什么......
先谢谢。
答案 0 :(得分:0)
根据Jasper documentation,JSP编译的默认源和目标级别由Tomcat使用的JDK确定,并且可以使用init参数覆盖(如上页所述)。
但我不认为这会对你有所帮助。
据我所知,你的Tomcat的JVM是1.4.x,但是你希望在源代码级1.5使用1.5类库进行编译。我相信这不可行。
JDK 1.4中的Java编译器无法编译Java 1.5语法。此外,JDK 1.4中的类库(...等待它......)Java 1.4,而不是1.5,因此如果您的JSP使用1.5类或方法,则生成的Java将无法编译。即使您确实设法编译 JSP /生成的Java(例如使用其他JVM),您很可能会在JDK 1.4.x上加载代码时遇到运行时问题。
AFAIK,如果你想在JSP中使用Java 1.5特性,你别无选择,只能将JDK 1.5或更高版本作为Tomcat的JVM。
坦率地说,应尽快升级到JDK 1.6。 JDK 1.4.x已经结束了,而EOL for Java 1.5已经不是那么遥远了。此外,自1.4.2以来,已经增加了数以万计的性能调整,错误修复和新功能。
答案 1 :(得分:-1)
Tomcat只是一个java应用程序。它在JVM下运行。因此,使用的JVM版本不依赖于Tomcat,而是依赖于您机器上安装的Java和JAVA_HOME环境变量的定义。
所以,请执行以下操作。 首先检查您的计算机上安装了哪些JDK和JRE。如果您没有特殊原因来保存多个Java安装,请删除除最后一个之外的所有内容。
第二,检查你的JAVA_HOME环境。变量。它应该指向“正确”的java安装。
现在运行你的tomcat并享受java 1.6的功能,包括泛型,枚举和你想要的其他东西。
BTW,您为什么使用Tomcat 5.5?至少移动到tomcat 6,或者更好的Tomcat 7,它具有很酷的新功能。