2010-06-06 2 views
0

Я получаю сообщение об ошибке java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFac tory при запуске моей упакованной jay-контейнера jj. Вот трассировка стека.Упаковка ejb3 swing client

G:\Courses\OSUMC\Installables\June 5\New>java -jar MetaDB-Client.jar 
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 net.massmatrix.metadb.ui.facade.BaseEJBFacade.getInitialContext(BaseE 
JBFacade.java:26) 
     at net.massmatrix.metadb.ui.facade.UserManagerFacade.getUserManager(User 
ManagerFacade.java:24) 
     at net.massmatrix.metadb.ui.facade.UserManagerFacade.isUserNameAvailable 
(UserManagerFacade.java:44) 
     at net.massmatrix.metadb.ui.MainFrame.main(MainFrame.java:269) 
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.Class.forName0(Native Method) 
     at java.lang.Class.forName(Unknown Source) 
     at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source) 
     ... 8 more 
Exception in thread "main" java.lang.NullPointerException 
     at net.massmatrix.metadb.ui.facade.UserManagerFacade.isUserNameAvailable 
(UserManagerFacade.java:44) 
     at net.massmatrix.metadb.ui.MainFrame.main(MainFrame.java:269) 

Вот мои упакованные содержание качели клиента Jar: -

MetaDB-Client.jar 
    \net\.. - contains class files(from both client and server) 
    META-INF 
    MANIFEST.MF 
    jndi.properties 

Вот мой jndi.properties:-

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory 
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces 
java.naming.provider.url=localhost:1099 

Вот мой MANIFEST.MF: -

Manifest-Version: 1.0 
Main-Class: net.massmatrix.metadb.ui.MainFrame 
Class-Path: jbossall-client.jar 

Содержимое манифеста из моей банки: -

Manifest-Version: 1.0 
Created-By: 1.6.0_18 (Sun Microsystems Inc.) 
Main-Class: net.massmatrix.metadb.ui.MainFrame 

Команда используется для создания фляги: -

jar cfm MetaDB-Client.jar MANIFEST.MF net\* jndi.properties 

Команда используется для запуска банки: -

java -jar MetaDB-Client.jar 

я имею jbossall-Client.jar в моем пути к классам

Что еще мне не хватает?

Спасибо.

ответ

0

Все, что вам нужно сделать, это добавить библиотеку jbossall-client.jar в папку с папками клиентов.
ClassPath в MANIFEST не может иметь * в нем.
Here is the tutorial для класса JAR-класса.

+0

Привет, Я внес изменения, которые вы предложили. Тем не менее, я все еще вижу ту же ошибку. Любые другие догадки о том, что может быть проблемой? Спасибо – soontobeared

+0

@soontobeared вы можете разместить свое содержание МАНИФЕСТА из своей банки? –

+0

Я сделал. Пожалуйста, загляните в мой отредактированный пост. – soontobeared

Смежные вопросы