2010-07-08 23 views
2

我有兩臺具有不同JVM版本的機器(1.6和1.5)應該在部署JBOSS AS的相同JVM上編譯ejb jar嗎?

我有一個運行在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 
+0

可能重複[java - 編譯文件時可以選擇版本號嗎?](http://stackoverflow.com/questions/3207537/java-is-it-possible-to-choose-version-number -when-compile-a-file) – 2010-07-08 23:29:47

回答

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中運行此代碼時會出現錯誤。

0

javac有一個-target選項,它允許您使用1.6編譯器編譯爲1.5 jvm。詳情請參閱javac -help

+0

是的,我用它。謝謝。 – 2010-07-09 01:12:47