Moro,
Taas kerran olisi pieni ongelman poikanen. Ja täällä kun näyttää liikkuvan muutamia ihan pätevältä vaikuttavia koodareita niin päätinpä taas koettaa onneani jos vaikka apua heltiäisi. Olen vasta vähän aikaa sitten alkanut tutustua j2ee ohjelmointiin ja nyt heti alkutaipaleella näyttää tulevan pienimuotoisia ongelmia (yllättävää). Ongelmani liittyy j2ee:n ejb asiakkaaseen, joka antaa herjaa, jolle en oikein osaa tehdä mitään. Sovelluspalvelimena toimii Oraclen9i Application Server ja sekä asiakas, että serveripään ohjelma on tehty JDeveloperilla. Herja on:
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
No okei, tämän herjan sain jotenkuten pois muuntamalla muutamia rivejä ja hieman lisäilemällä:
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
env.put(Context.PROVIDER_URL,"opmn:ormi://server:23791/ejbNimi");
env.put(Context.SECURITY_PRINCIPAL, "admin");
env.put(Context.SECURITY_CREDENTIALS, "welcome");
// Creates a JNDE naming context for location objects.
Context context = new RMIInitialContextFactor().getInitialContext(env);
Siis näiden rivien jälkeen ei enää herjannut samaa kuin yllä vaan tuli herja, ettei löydä RMIInitialContextFactor luokkaa:
Exception in thread main
java.lang.NoClassDefFoundError: com/evermind/server/rmi/RMIInitialContextFactory
void hello.TestHello.main(java.lang.String[])
TestHello.java:22
Alkaa kohta masentamaan taas jos ei päivä ala paistaa risukasaan. Löytyisikö siis joku joka osaisi jollakin tavalla hieman vihjaista mistä mahtaa johtua? Itse alan nimittäin pikkuhiljaa olla umpikujassa näiden kanssa enkä ole löytänyt itselleni (=for dummies) sopivaa ohjetta tähän.
Taas kerran olisi pieni ongelman poikanen. Ja täällä kun näyttää liikkuvan muutamia ihan pätevältä vaikuttavia koodareita niin päätinpä taas koettaa onneani jos vaikka apua heltiäisi. Olen vasta vähän aikaa sitten alkanut tutustua j2ee ohjelmointiin ja nyt heti alkutaipaleella näyttää tulevan pienimuotoisia ongelmia (yllättävää). Ongelmani liittyy j2ee:n ejb asiakkaaseen, joka antaa herjaa, jolle en oikein osaa tehdä mitään. Sovelluspalvelimena toimii Oraclen9i Application Server ja sekä asiakas, että serveripään ohjelma on tehty JDeveloperilla. Herja on:
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
No okei, tämän herjan sain jotenkuten pois muuntamalla muutamia rivejä ja hieman lisäilemällä:
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
env.put(Context.PROVIDER_URL,"opmn:ormi://server:23791/ejbNimi");
env.put(Context.SECURITY_PRINCIPAL, "admin");
env.put(Context.SECURITY_CREDENTIALS, "welcome");
// Creates a JNDE naming context for location objects.
Context context = new RMIInitialContextFactor().getInitialContext(env);
Siis näiden rivien jälkeen ei enää herjannut samaa kuin yllä vaan tuli herja, ettei löydä RMIInitialContextFactor luokkaa:
Exception in thread main
java.lang.NoClassDefFoundError: com/evermind/server/rmi/RMIInitialContextFactory
void hello.TestHello.main(java.lang.String[])
TestHello.java:22
Alkaa kohta masentamaan taas jos ei päivä ala paistaa risukasaan. Löytyisikö siis joku joka osaisi jollakin tavalla hieman vihjaista mistä mahtaa johtua? Itse alan nimittäin pikkuhiljaa olla umpikujassa näiden kanssa enkä ole löytänyt itselleni (=for dummies) sopivaa ohjetta tähän.
Vastaukset 2
Vanhimmat
Yleensähän tuo ilmoitus tulee kun etsittyä class-tiedostoa ei löydy classpathilta. Eli kun ajat sovellusta, lisää luokkapolkuun hakemisto, josta löytyy com-kansio.
Niinhän tuo yleensä tulee silloin kun projektiin ei ole ladattu tarpeellisia classeja, mutta voisin suhteellisen varmasti sanoa, että tähän projektiin on ladattu tarpeelliset luokkakirjastot koska JDeveloperin IDE antaa vaihtoehdot eteen kun kirjoittaa com.xxx.xxx. jne. Eli IDE näyttää aina kyseisen paketin sisällön. Ja silloin kun näitä tarpeellisia luokkia ei ole ladattu projektiin ei IDE neuvo tällä tavalla. Näin ainakin olen käsittänyt...