Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tomcat8支持Java8吗?_Tomcat - Fatal编程技术网

Tomcat8支持Java8吗?

Tomcat8支持Java8吗?,tomcat,Tomcat,Tomcat8(现在称为RC1-see)支持Java8吗,即使它仍处于测试阶段 除其他外,Tomcat 8支持Java EE 7: 网袋 Servlet api 3.1(异步Servlet支持) 我在使用Tomcat7/Java7时遇到了问题,这就是为什么我要问这个问题 更新 infoq上一篇有趣的文章指出Tomcat8已经为Java8做好了准备。即使是Tomcat7也会是 见文章 如果您发现任何兼容性问题,我将在此处报告。根据: 可以使用任何已安装的Java 7或更高版本的JRE(32

Tomcat8(现在称为RC1-see)支持Java8吗,即使它仍处于测试阶段

除其他外,Tomcat 8支持Java EE 7:

  • 网袋
  • Servlet api 3.1(异步Servlet支持)
我在使用Tomcat7/Java7时遇到了问题,这就是为什么我要问这个问题


更新

infoq上一篇有趣的文章指出Tomcat8已经为Java8做好了准备。即使是Tomcat7也会是

见文章


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

根据:

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


Tomcat8.0设计为在Java7上运行。为供参考,支持以下规范:

  • Tomcat6:Servlet2.5、JSP2.1和EL2.1
  • Tomcat7:Servlet3.0、JSP2.2和EL2.2
  • Tomcat8:Servlet3.1、JSP2.3和EL3.0。此外,还支持新规范JavaWebSocket 1.0

  • 更多信息请参见:

    使用Java 8+Spring 4.0.2编写的Web应用程序测试了Tomcat 7.0.50,使用lambda表达式、方法引用和流-效果非常好

    我在Linux上试过,但它不起作用。在JSP页面中执行lambda表达式时,会抛出以下错误

    Lambda表达式只允许在源代码级别1.8或更高级别上使用 ApacheTomcat/8.0.14


    它在JDK jdk1.8.0_25上运行,不支持开箱即用。你必须做些改变。 在apachehome\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>
    
    
    编译程序
    现代的
    编译器资源虚拟机
    1.8
    编译器目标
    1.8
    抑制器
    真的
    
    我还在setenv.sh(或bat)中的类路径中添加了以下条目: export
    CLASSPATH=$JAVA\u HOME/lib/tools.jar:$CLASSPATH

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

    以下是一些资料来源:

    您可以在web..xml中初始化编译值 然后你就可以使用Tomcat8了


    Tomcat 8:Servlet 3.1、JSP 2.3和EL 3.0。

    谢谢Chewy,我一直在搜索最后一个小时在JSP中编译lambdas,它对我有用

    更新了tomcat的web.xml中的jsp部分,如下所示(只需要做这么多更改):

    
    jsp
    org.apache.jasper.servlet.JspServlet
    编译程序
    现代的
    编译器资源虚拟机
    1.8
    编译器目标
    1.8
    抑制器
    真的
    叉
    假的
    xpoweredBy
    假的
    映射文件
    真的
    3.
    
    嗯?Tomcat只是用Java编写的。它肯定会像其他Java程序一样在Java 7/8/9/10/11/等上运行。@kirdie:这不依赖于Tomcat,但依赖于JVM。当然,BalusC是错误的。由于存在许多微妙的问题,Tomcat可能无法与较新的JRE一起运行。BalusC对Tomcat的看法通常是正确的。想详细说明一下Tomcat在Java8中遇到了什么问题吗?在运行JSP-Nope时出现了一些问题。Tomcat 8在Java 7或更高版本上运行。Tomcat 7也提供了WebSocket版本表同样说明:可能。。。或者不是。Tomcat正式支持Java7,而不是Java8。官方-是的,Tomcat的网站告诉我们支持Java7和更高版本。取决于tomcat7版本。ubuntu存储库上的版本似乎有一些问题。但是7.0.50应该可以,但是如果您使用的是Mojarra 2.1(我已经测试过2.1.29),即使是Tomcat 7.0.68(测试过TomEE 1.7.4),也不能使用lambda表达式。否则将引发以下异常:信息:初始化上下文“/reflect”márc的Mojarra 2.1.29(20140702-1445)。23,2016年7:10:35 DU org.apache.openejb.server.cxf.rs.CxfRsHttpListener配置工厂错误j.e.resource.webcontainer.jsf.config-位置41处未知类型常量池18错误j.e.resource.webcontainer.jsf.config-位置42处未知类型常量池0
    <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <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>
        <init-param>
          <param-name>fork</param-name>
          <param-value>false</param-value>
        </init-param>
        <init-param>
          <param-name>xpoweredBy</param-name>
          <param-value>false</param-value>
        </init-param>
        <init-param>
          <param-name>mappedfile</param-name>
          <param-value>true</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
      </servlet>