我有一个简单的EJB应用程序,用于大约6个月前的工作。我安装了最新的JDeveloper(11.1.1.3.0),当我遇到这个问题时,我试图让它再次运行。NameNotFoundException当应用程序名称包含句点
TeacherManager teacherManager = (TeacherManager)context.lookup("Uran_2.0-TeacherManager#hu.elte.pgy2.BACNAAI.UranEJB.TeacherManager");
随着消息(由我强调):
javax.naming.NameNotFoundException:
部署在此行未能在试图查找“Uran_2.0-TeacherManager#虎.elte.pgy2.BACNAAI.UranEJB.TeacherManager'找不到子上下文'Uran_2'。 ' [根异常是javax.naming.NameNotFoundException:尝试查找时'Uran_2.0-TeacherManager#hu.elte.pgy2.BACNAAI.UranEJB.TeacherManager'未找到子上下文'Uran_2'。解决 '']; 剩余名称 'Uran_2/0 TeacherManager#HU /罗兰/ pgy2/BACNAAI/UranEJB/TeacherManager'
显然,应用程序的名称(Uran_2.0)不知何故提示JDeveloper中(或JNDI?我不知道)将名称中的.
替换为/
,这明显会导致JNDI查找失败。我怎样才能解决这个问题?
是的,它在那里:'@Stateless(name =“TeacherManager”,mappedName =“Uran_2.0-TeacherManager”)'。尽管JNDI仍然在寻找'Uran_2/0-TeacherManager'。 – suszterpatt 2010-10-28 14:18:16
然后查找“Uran_2 \\。0-TeacherManager” – h3xStream 2010-10-28 14:25:24
给出:'javax.naming.NameNotFoundException:试图查找'Uran_2.0-TeacherManager#hu.elte.pgy2.BACNAAI.UranEJB.TeacherManager'没有找到子上下文'Uran_2.0-TeacherManager#hu'。解决''[根异常是javax.naming.NameNotFoundException:当试图查找'Uran_2.0-TeacherManager#hu.elte.pgy2.BACNAAI.UranEJB.TeacherManager'没有找到子上下文'Uran_2.0-TeacherManager#hu' 。解决 ''];剩余名称'Uran_2/0-TeacherManager#hu/elte/pgy2/BACNAAI/UranEJB/TeacherManager''。稍微好一些,但还不够。 – suszterpatt 2010-10-28 16:00:00