Я немного запутался из-за JBOSS и запуска его под разными JDK. Например, предположим, что я использую JBOSS 5.1, и перед запуском я установил JAVA_HOME, чтобы он указывал на JDK5. Давайте также предположим, что мое приложение Java EE скомпилировано в JDK6. Если я развертываю приложение Java EE (скомпилированное в JDK6) в JBOSS, при попытке поиска своих EJB я получаю сообщения об ошибках типа:
javax.naming.NameNotFoundException: tc_test_project not bound
Но если я перекомпилирую свой код в JDK5 и повторно разверну его, он будет работать нормально и сможет нормально искать EJB.
Аналогично, я могу установить JAVA_HOME в JDK6 и запустить JBOSS, и мой код (скомпилированный в JDK6) будет работать нормально в этом сценарии (он может найти EBJ и т. Д.).
Таким образом, кажется, что ваше приложение Java EE должно быть скомпилировано под тем же JAVA_HOME, на котором будет работать сервер JBOSS, или я что-то неправильно понимаю? Просто хотел получить подтверждение, спасибо.