2010-07-08 4 views
2

J'ai deux machines avec des versions différentes de JVM (1.6 et 1.5)Le fichier ejb doit-il être compilé sur la même machine virtuelle Java qui déploie le JBOSS AS?

J'ai un serveur JBOSS fonctionnant sur celui de JDK1.5. J'ai créé un fichier ejb jar sur la machine de JDK1.6.

Quand j'arrive à déployer le pot EJB dans le JBOSS (4.3), je reçois l'erreur suivante:

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

duplication possible de [java - est-il possible de choisir le numéro de version lors de la compilation d'un fichier?] (Http://stackoverflow.com/questions/3207537/java-is-it-possible-to-choose-version-number -when-compile-a-file) –

Répondre

1

Si vous souhaitez exécuter en Java 1.5, vous devez compiler en Java 1.5 ou inférieur.

Alternativement, si vous devez simplement exécuter JDK 6 alors que @Paul Tomblin suggère que vous pouvez utiliser l'option -target javac. Cependant, si vous utilisez l'une des nouvelles fonctionnalités de l'API Java 1.6 javac 1.6 (par exemple setting File perms) javac ne se plaindra pas mais vous obtiendrez des erreurs lors de l'exécution de ce code dans java 1.5.

0

javac a une option -target qui vous permet de compiler à un 1.5 jvm avec un compilateur 1.6. Voir javac -help pour plus de détails.

+0

Oui, je l'ai utilisé. Merci. –

Questions connexes