在Glassfish 3中部署EJB“Hello World”的UnsupportedClassVersionError

时间:2013-01-15 14:47:40

标签: eclipse ejb-3.0 glassfish-3 web-deployment

我尝试部署一个简单的" Hello Word"在我的本地服务器GlasshFish 3中,但在部署时控制台打印此消息

[#|2013-01-15T15:00:02.458+0100|SEVERE|glassfish3.1.2|
javax.enterprise.system.tools.admin.org.Exception while deploying the app
[HelloWorldEJB] :UnsupportedClassVersionError: Class ejb_other.PlaceAuctionItemBean 
as unsupported major or minor version numbers, which are greater than those found 
in the Java Runtime Environment version 1.6.0_27|#]

我的JAVA_HOME有java版本1.6.0_27(它指的是_C:\ Program Files \ Java \ jdk1.6.0_27_),我的Eclipse(indigo)项目是指java 1.6.0_27。 我认为(我不知道如何验证)GlasshFish引用JAVA_HOME。

在我的电脑(Windows 7)中,我发现2个目录中有 java.exe

  • C:\ Windows \ SysWOW64 > java -version - >> java版本" 1.6.0_29"
  • C:\ Windows \ System32 > java -version - >> java版本" 1.6.0_27"

我发现有关此异常的更多讨论(例如thisthis),但我需要更具体的Eclipse / Glasshfish,因为我无法解决。我看到JVM与编译和执行相同。

Post Scriptim

我添加了关于我声明JVM的地方的截图:它始终是1.6。 之一:compiler 2:build path eclipse 3:envieronment variables

我在哪里可以看到我使用java 7编译它还是与另一个JVM一起运行?

2 个答案:

答案 0 :(得分:0)

ejb_other.PlaceAuctionItemBean显然是为Java 7编译的,如果你在Java 6 JVM中运行它将无法工作。

答案 1 :(得分:0)

找到解决方案

还有另一个设置编译器选项的地方:

how do I get eclipse to use a different compiler version for Java?