2012-07-17 61 views
2

我使用JBoss 7.1.1 Final,并在Eclipse Juno中使用JDK 7构建项目(使用ant脚本)。在部署时,它在加载EJB时失败。我使用Oracle JDK 1.7.0_05的MAC OS使用JDK 7构建项目的JBoss AS 7在部署时失败

这里是堆栈跟踪:

(MSC service thread 1-2) Failed to define class com.test.ReportManager in Module "deployment.TEST.war:main" from Service Module Loader: java.lang.UnsupportedClassVersionError: com/test/ReportManager : Unsupported major.minor version 51.0

at java.lang.ClassLoader.defineClass1(Native Method) [classes.jar:1.6.0_33] 
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) [classes.jar:1.6.0_33] 
at java.lang.ClassLoader.defineClass(ClassLoader.java:615) [classes.jar:1.6.0_33] 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) [classes.jar:1.6.0_33] 
at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:327) [jboss-modules.jar:1.1.1.GA] 
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:391) [jboss-modules.jar:1.1.1.GA] 
at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:243) [jboss-modules.jar:1.1.1.GA] 
at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:73) [jboss-modules.jar:1.1.1.GA] 
at org.jboss.modules.Module.loadModuleClass(Module.java:517) [jboss-modules.jar:1.1.1.GA] 
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:182) [jboss-modules.jar:1.1.1.GA] 
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.1.GA] 
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.1.GA] 
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.1.GA] 
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.1.GA] 
at org.jboss.as.ejb3.deployment.processors.BusinessViewAnnotationProcessor.getEjbClass(BusinessViewAnnotationProcessor.java:225) 
at org.jboss.as.ejb3.deployment.processors.BusinessViewAnnotationProcessor.deploy(BusinessViewAnnotationProcessor.java:97) 
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [classes.jar:1.6.0_33] 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [classes.jar:1.6.0_33] 
at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_33] 

任何想法是什么原因?

感谢, 卢卡斯

回答

1

你有两个选择。

  1. 配置构建以创建jdk6兼容字节码。
  2. 使用jdk7在jboss中运行你的应用程序。

从堆栈跟踪它看起来像你正在运行JDK6 U33,而不是JDK7和字节代码不兼容

+0

root的默认JDK是从用户的设置不同。谢谢! – lukas 2012-07-17 16:45:15

+0

第一点怎么办? – 2012-11-27 09:21:54

+0

创建一个新问题并将其链接到此处,我将回复。 :) – feniix 2012-11-27 16:23:39