EJB исключение при попытке запустить клиент - PullRequest
4 голосов
/ 10 марта 2011
javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interf
aces.NamingContextFactory [Root exception is java.lang.ClassNotFoundException: o
rg.jnp.interfaces.NamingContextFactory]
        at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
        at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
        at javax.naming.InitialContext.init(Unknown Source)
        at javax.naming.InitialContext.<init>(Unknown Source)
        at Client_TestPortal.main(Client_TestPortal.java:54)
Caused by: java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFac
tory
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
        ... 5 more

Ответы [ 3 ]

10 голосов
/ 10 марта 2011

Это исключение говорит о том, что инициализация InitialContext не удалась для вашего Client_TestPortal приложения. Причина в том, что ему не удалось загрузить класс org.jnp.interfaces.NamingContextFactory, который (я полагаю) является поставщиком именования Java по умолчанию для вашей платформы.

Похоже, что в вашем пути к классам приложений отсутствует требуемый файл JAR. Согласно этому запросу findjar это может быть одно из следующих:

[LOCAL] jbossall-client.jar
[LOCAL] jbossjmx-ant.jar
[MAVEN2] jnpserver-3.2.3.jar
[MAVEN2] jbossall-client-3.2.1.jar
[MAVEN2] jbossall-client-3.2.3.jar
[MAVEN2] jbossjmx-ant-3.2.3.jar
[MAVEN2] jnp-client-3.2.1.jar
[MAVEN2] jnp-client-4.0.2.jar

... или что-то в этом роде. Трудно сказать, какой (если таковой имеется) из вышеуказанных JAR-файлов является наиболее подходящим.

1 голос
/ 10 марта 2011

Вы не предоставили достаточно информации, такой как среда, которую вы используете, сервер приложений и т. Д.

В любом случае, похоже, что JAR, связанный с JNDI, не находится на пути к классам. Если он установлен и все еще не работает, возможно, вы пропустили правильную контекстную информацию, поэтому передайте информацию JNDI в конструктор InitialContext.

0 голосов
/ 22 мая 2014

У меня была такая же проблема, но я нашел, как это исправить. Все, что вам нужно сделать, это добавить библиотеку jbossall-client.jar в проект клиентов, и все готово !!! Вы можете найти файл в папке клиента. например, jboss-6.1.0.Final_GPT \ client Я использовал Jboss 6.1.0 Вы также можете получить помощь по этой ссылке https://community.oracle.com/thread/1157701?start=0

Надеюсь, это поможет.

...