Tomcat8支持Java8吗?
Tomcat8(现在称为RC1-see)支持Java8吗,即使它仍处于测试阶段 除其他外,Tomcat 8支持Java EE 7: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
- 网袋
- Servlet api 3.1(异步Servlet支持)
更新 infoq上一篇有趣的文章指出Tomcat8已经为Java8做好了准备。即使是Tomcat7也会是 见文章
如果您发现任何兼容性问题,我将在此处报告。根据: 可以使用任何已安装的Java 7或更高版本的JRE(32位或64位)
Tomcat8.0设计为在Java7上运行。为供参考,支持以下规范:
更多信息请参见:使用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)中的类路径中添加了以下条目:
exportCLASSPATH=$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>