首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows和Linux上使用Java 8的Tomcat 7

在Windows和Linux上使用Java 8的Tomcat 7
EN

Stack Overflow用户
提问于 2014-07-01 07:00:46
回答 3查看 30.2K关注 0票数 11

我遇到了以下问题:

我想使用Apache 7.0.54构建在目标Java-8上的。

当我在本地机器(Win-64,jdk构建1.8.0-b132)上运行它时,它工作得很好。

但是,当我在生产上部署它(Debian /Linux7.5(喘息))时,jdk构建了1.8.0-b132,Tomcat 7.0.54-2,它抛出:

代码语言:javascript
复制
Unsupported major.minor version 52.0 (unable to load class ru.tomtrix.fvds.servlets.ItemServlet)

..。这意味着不支持Java-8类。那么,相同版本的Tomcat的Windows和Linux实例有什么问题呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-01 14:05:18

谢谢大家我发现了发生的事。事实证明,JAVA_HOME的定义并不恰当(正如logoff和Marko Topolnik提到的那样)。我打开了/etc/default/tomcat7并更改了这个部分:

代码语言:javascript
复制
# The home directory of the Java development kit (JDK). You need at least
# JDK version 6. If JAVA_HOME is not set, some common directories for
# OpenJDK, the Oracle JDK, and various Java SE 6+ versions are tried.
#JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk
JAVA_HOME=/path/to/my/jdk

..。一切都开始运作了!默认情况下,Tomcat真的使用类似于OpenJDK的内部JDK吗?

票数 13
EN

Stack Overflow用户

发布于 2015-12-27 10:57:15

默认情况下,每个Tomcat实例在机器上使用默认的JDK。您可以更改默认的JDK (如果使用一个Tomcat实例),或者告诉Tomcat使用不同的JDK。

  1. 用于为每个TOMCAT实例设置不同的JDK:

catalina.sh调用setenv.sh来使用JDK。如果不存在,则在CATALINA_BASE/bin中创建文件setenv.sh。CATALINA_BASE代表Tomcat文件夹。用gedit打开setenv.sh:

代码语言:javascript
复制
sudo gedit setenv.sh

写这行:

代码语言:javascript
复制
export JAVA_HOME=/path/to/your/JDK

Tomcat建议将JAVA_HOME导出为setenv.sh,而不是catalina.sh。

  1. 用于更改Ubuntu上的默认JDK: sudo更新-选项-安装/your/path/to/JDK/bin/java

或者:

代码语言:javascript
复制
sudo update-alternative --install  ${JAVA_HOME}/bin/java

如果您已经定义了JAVA_HOME。

票数 3
EN

Stack Overflow用户

发布于 2014-07-01 13:42:52

JAVA_HOME环境变量与Eclipse将如何运行代码无关。同样,您为项目显示的编译器设置不影响代码的运行方式。

相反,您需要查看正在使用的运行配置,并检查那里的环境。确保您使用的是Java 8,并且一切都应该很好。单击Run按钮旁边的三角形,然后选择"Run Configurations.“打开具有所有设置的对话框。然后查看JRE选项卡,确保您使用的是正确的JRE。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24504211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档