我遇到了以下问题:
我想使用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,它抛出:
Unsupported major.minor version 52.0 (unable to load class ru.tomtrix.fvds.servlets.ItemServlet)..。这意味着不支持Java-8类。那么,相同版本的Tomcat的Windows和Linux实例有什么问题呢?
发布于 2014-07-01 14:05:18
谢谢大家我发现了发生的事。事实证明,JAVA_HOME的定义并不恰当(正如logoff和Marko Topolnik提到的那样)。我打开了/etc/default/tomcat7并更改了这个部分:
# 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吗?
发布于 2015-12-27 10:57:15
默认情况下,每个Tomcat实例在机器上使用默认的JDK。您可以更改默认的JDK (如果使用一个Tomcat实例),或者告诉Tomcat使用不同的JDK。
catalina.sh调用setenv.sh来使用JDK。如果不存在,则在CATALINA_BASE/bin中创建文件setenv.sh。CATALINA_BASE代表Tomcat文件夹。用gedit打开setenv.sh:
sudo gedit setenv.sh写这行:
export JAVA_HOME=/path/to/your/JDKTomcat建议将JAVA_HOME导出为setenv.sh,而不是catalina.sh。
或者:
sudo update-alternative --install ${JAVA_HOME}/bin/java如果您已经定义了JAVA_HOME。
发布于 2014-07-01 13:42:52
JAVA_HOME环境变量与Eclipse将如何运行代码无关。同样,您为项目显示的编译器设置不影响代码的运行方式。
相反,您需要查看正在使用的运行配置,并检查那里的环境。确保您使用的是Java 8,并且一切都应该很好。单击Run按钮旁边的三角形,然后选择"Run Configurations.“打开具有所有设置的对话框。然后查看JRE选项卡,确保您使用的是正确的JRE。
https://stackoverflow.com/questions/24504211
复制相似问题