Tomcat 8是否支持Java 8?

unl*_*udo 32 tomcat

tomcat 8(今天是RC1 - 看到这个)是否支持Java 8,即使它仍然处于测试阶段?

其中Tomcat 8支持Java EE 7:

  • 的WebSockets
  • Servlet api 3.1(Asynch servlet支持)

我遇到了麻烦,在过去和Tomcat 7/Java 7的,这就是为什么我问这个问题.


更新

关于infoq的一篇有趣的文章表明tomcat 8已经为java 8做好了准备.即使是Tomcat 7也是如此.

请参阅此处的文章


如果您发现任何兼容性问题,我会在此处报告.

Dei*_*zan 33

根据Tomcat Docs:

可以使用任何已安装的Java 7或更高版本的JRE(32位或64位).

  • 版本矩阵也说相同:http://tomcat.apache.org/whichversion.html (7认同)

小智 10

在Java 8 + Spring 4.0.2上使用Web应用程序测试Tomcat 7.0.50,使用lambda表达式,方法引用和流 - 就像一个魅力!


Che*_*ewy 5

它不支持开箱即用.你必须做一些改变.在apache home\conf\web.xml中,在jsp部分添加以下行.

<init-param>
    <param-name>compiler</param-name>
    <param-value>modern</param-value>
</init-param>
<init-param>
    <param-name>compilerSourceVM</param-name>
    <param-value>1.8</param-value>
</init-param>
<init-param>
    <param-name>compilerTargetVM</param-name>
    <param-value>1.8</param-value>
</init-param>
<init-param>
    <param-name>suppressSmap</param-name>
    <param-value>true</param-value>
</init-param>
Run Code Online (Sandbox Code Playgroud)

我还在setenv.sh(或bat)中的classpath中添加了以下条目:export CLASSPATH=$JAVA_HOME/lib/tools.jar:$CLASSPATH

请注意,我还需要将java_home设置为1.8(这里有一点点,但可能值得一提)

以下是一些来源:http : //tomcat.apache.org/tomcat-8.0-doc/jasper-howto.html http://mail-archives.apache.org/mod_mbox/tomcat-dev/201301.mbox/%3C7CF0788AAB53854AB15567D68F41960238297F32 @ CH1PRD0410MB369.namprd04.prod.outlook.com%3E