我需要更改我的tomcat6服务器使用的JRE,因为我有一个 JSP 应用程序,它编译了包含的类JDK 1.8.0_45
。
然后,自从我有了JRE 1.8.0_40
(并且被 tomcat 使用),我的 JSP 应用程序在运行时出现了错误:
The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files
所以我已经安装了JRE 1.8.0_45
,只需下载它,然后解压并移动到:
/usr/lib/jvm/jre1.8.0_45/
然后更新以使用它(正如您在这里看到的,抱歉,因为它是西班牙语):
所以我只是重新启动计算机,然后查找哪个JRE正在使用tomcat...但发现了类似的东西(抱歉,如果这不是查看它的最佳方法,这是我认为更简单的方法):
ps -aux | grep tomcat
正如你所看到的,grep 输出中的第一行是 tomcat 的执行(不是吗?)但它似乎使用 JDK 而不是 JRE。另外,它正在使用,而我在构建我的应用程序时在同一台电脑上JDK1.8.0_40
使用:JDK1.8.0_45
如果我们检查JDK选项,所选的选项没有指定版本,所以我不知道是否有问题:
所以这是我的问题,我只是想知道如何将tomcat使用的JDK/JRE版本更改为u45。
我需要解决所有这些烂摊子。
答案1
您可以通过设置JAVA_HOME
变量来解决此问题/etc/default/tomcat6
(我假设基本操作系统仍然具有 Debian/Ubuntu Tomcat 软件包)。
Map$Entry
不过,您得到的错误相当令人惊讶,我不希望在 JDK 1.8.0_40 和 1.8.0_45 之间切换时出现错误。