是否应该在部署JBOSS AS的同一JVM上编译ejb jar?

时间:2010-07-08 23:09:41

标签: java deployment jboss

我有两台机器有不同的JVM版本(1.6和1.5)

我在JDK1.5上运行了一个JBOSS服务器。我在JDK1.6的机器上创建了一个ejb jar文件。

当我将EJB Jar部署到JBOSS(4.3)中时,我收到以下错误:

16:05:41,878 WARN  [ServiceController] Problem creating service jboss.j2ee:service=EJB3,module=ejb1_test.jar
java.lang.ClassNotFoundException: Unexpected error during load of: org.daz.TimeServiceBean, msg=Bad version number in .class file

2 个答案:

答案 0 :(得分:1)

如果你想在java 1.5中运行,那么应该在java 1.5或更低版本中编译。

或者,如果您只是必须运行JDK 6,那么@Paul Tomblin建议您可以使用-target javac选项。但是有一个警告,如果您使用任何新的Java 1.6 API功能javac 1.6(例如setting File perms)javac不会抱怨,但在java 1.5中运行此代码时会出错。

答案 1 :(得分:0)

javac有一个-target选项,允许您使用1.6编译器编译为1.5 jvm。有关详细信息,请参阅javac -help