在Eclipse和Tomcat之间部署web-app不匹配JVM版本

问题描述:

我有一个在Eclipse中构建和编译的Web应用程序,我想将它部署到我的Tomcat 6(我想手动执行),并且我得到一个UnsupportedClassVersionError这意味着JVM tomcat运行的异常比我的eclipse运行的更早。在进行了一些检查后,我发现在tomcat管理器窗口中显示:JVM Version-1.5.0_20-b02和我的eclipse中:Java安装的JRE--默认情况下指向JDK,它定义为我的JAVA_HOME env-var,在我的路径中用作env-var(它是1.6.013)。在Eclipse和Tomcat之间部署web-app不匹配JVM版本

我的问题是如何告诉tomcat使用我的JDK?我虽然认为它应该使用JAVA_HOME var,但它的定义正确,如果我在命令提示符下发出java-version,我会得到正确的高级版本。

在做了一些更多的检查后,我看到在tomcat库下有一个JRE文件夹,我认为这个tomcat正在使用,但是如果我删除这个文件夹,Tomcat将无法启动(甚至在我定义了JRE_HOME env- var并将其指向我的JDK下列出的JRE)。 所以我很茫然。

感谢所有帮助登陆 以太

更新:正如有人问我,我使用XAMPP附加tomcat的。

+0

看看这个FAQ - http://www.error-exception.org/database-oracle-db2-sqlServer-java-j2se-j2ee-j2me.htm?bookId=759714 – adatapost 2009-10-03 09:31:20

从Apache下载的标准Tomcat 6.0.20中没有JRE。您是否可能使用像Spring这样的预先打包/支持版本?

无论是某人或某人修改了标准的Tomcat启动以优先选择已发货的JRE。你如何启动Tomcat?跟踪启动脚本并查看。或者只需重新下载Tomcat 6,并重新开始,知道你有规范的安装。

+0

我使用xampp tomcat附加版本 – Ittai 2009-10-03 09:41:21

+0

你看过启动脚本吗?这是一个设置JRE环境变量的setenv.bat文件。请更改脚本,将提供的JRE替换为所需的版本或降级到Java 1.5。 – SteveD 2009-10-03 10:54:32

+0

我已经浏览了一些脚本,但不是你所指的脚本,我会在我回家时看看它。如果我找不到更直接的方法,那么替换JRE的想法可能是我会做的。谢谢 – Ittai 2009-10-03 15:56:23

我想说应用服务器的JDK更有可能被修复,并且IDE应该切换其JDK以匹配应用服务器。不要调整Tomcat;使Eclipse指向应用服务器使用的相同JDK。

您并不总能控制应用程序服务器,但始终可以调整IDE。

+0

在我的情况下,我总是控制应用程序服务器,因为它是我提供的软件包的一部分,但谢谢。 (另外,由于其他开发原因,我需要该JDK版本) – Ittai 2009-10-03 15:54:06

+0

我的观点仍然相关。你的情况不是规则。而且每个项目的JDK之间切换应该很容易。如果Eclipse不能这样做,也许你应该切换到更好的IDE - IntelliJ。 – duffymo 2009-10-03 16:42:37

+0

Eclipse可以做到这一点。 – 2009-10-04 12:07:32

您可以更改您的Eclipse-> Java-> Compiler设置以编译Java 1.5或更早版本,或者您可以在系统上安装与Tomcat使用的版本相对应的另一个JRE,并告诉Eclipse使用THAT这个项目。 Eclipse - > Java - >安装的Java运行时。