(netbeans,jpa,jboss) ClassNotFoundException: NamingContextFactory :class not found
bonsoir,
j'ai créé un projet sous netbeans 6.7.1, un projet EAR (enterprise application)avec comme modules un projet EJB (qui contient une classe JPA fonctionnant avec hibernate ,et un stateless) et un module client, qui contient la méthode main.
en lançant le EAR, j'ai l'erreur suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Exception in thread "main" javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory [Root exception is java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:175)
at york.Main.main(Main.java:24)
Caused by: java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:46)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654) |
l'erreur doit se situer au nniveau de la InitialContext du main présenté ci-après:
Code:
1 2 3 4 5 6 7
| public static void main(String[] args) throws NamingException {
Context context = new InitialContext();
acces_yorkLocal instance_acces = (acces_yorkLocal) context.lookup("acces_yorkBean/acces_yorkLocal");
Fruits pomme=new Fruits("golden");
instance_acces.save(pomme);
} |
(la classe d'entity est "Fruits", et le bean s'appelle "acces_yorkBean",et l'interface est "acces_york_Local").
pouvez-vous me dire à quoi cette erreur est due?
je me suis peut-être trop reposé sur netbeans pour tout ce qui est de la configuration du projet, car j'ai ce fichier persistence.xml:
Code:
1 2 3 4 5 6 7
| <persistence-unit name="yorkPU" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/jdbc/jbossdb</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
</properties>
</persistence-unit> |
tout le reste est normalement géré par netbeans.
olivier:mrgreen: