Kann nicht instanziiert die Klasse: org.none.- Schnittstellen.NamingContextFactory
Hier mein code:
SpeakerRemote.java
package test;
import javax.ejb.Remote;
@Remote
public interface SpeakerRemote {
String sayAPhrase( String phrase );
}
SpeakerBean.java
package test;
import javax.ejb.Stateless;
@Stateless
public class SpeakerBean implements SpeakerRemote {
@Override
public String sayAPhrase( String phrase ){
return "Speaker Service:\t" + phrase;
}
}
Habe ich montiert es mit maven. Hier zeige ich Euch aufrufen Artikel:
Invoker.java
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import java.util.Properties;
public class Invoker {
public static InitialContext getContext() throws NamingException {
final Properties properties = new Properties();
properties.put( Context.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory" );
properties.put( Context.PROVIDER_URL, "jnp://127.0.0.1:1099" );
return new InitialContext( properties );
}
}
Main.java
import test.SpeakerRemote;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class Main {
public static void main( String... args ) {
try {
InitialContext context = Invoker.getContext();
SpeakerRemote speaker = ( SpeakerRemote ) context.lookup( "SpeakerBean/remote" );
System.out.println( speaker.sayAPhrase( "Hello, World!" ) );
}
catch ( NamingException e ) {
e.printStackTrace();
}
}
}
Begann mit dieser app bekam ich diese exception:
"Kann nicht instanziiert die Klasse: org.none.- Schnittstellen.NamingContextFactory [Root exception is java.lang.ClassNotFoundException: org.none.- Schnittstellen.NamingContextFactory]"
Bitte helfen Sie mir, weil ich wirklich brauchen, um es zu verstehen!
P. S. ich benutze jboss 7.1.1 Final + EJB 3.1 + Maven 3.1.1 + Java 1.7 + Win7
Nein. Sag mir, wie kann ich es beobachten
Ich verstehe nicht, was du redest. Ich habe Jboss auf meinem Rechner. Ich habe Zugriff auf ein beliebiges Verzeichnis. Nur sagen Sie mir, was ich tun soll)
Die exception message ist Recht ordentlich, denke ich. "Root exception is java.lang.ClassNotFoundException: org.none.- Schnittstellen.NamingContextFactory". Sind Sie sicher, dass Sie die erforderlichen jar im classpath?
Finden Sie zuerst heraus, welche jar die Klasse kommt und dann stellen Sie sicher, wenn Sie die Anwendung ausführen, das jar in den classpath. Auch der code, den Sie geschrieben sind, nicht einmal relevant. Sie müssen überprüfen Sie Ihre classpath-Einstellung.
Lassen Sie mich beschreiben, was ich getan habe. Ich legte SpeakerRemote.java und SpeakerBean.java in jar-Datei mit maven Montage und Bereitstellung auf Jboss. Dann machte ich die client-app (Main.java + Invoke.java) und fügen Sie die jar-Datei in den lib-dir.
Ich verstehe nicht, was du redest. Ich habe Jboss auf meinem Rechner. Ich habe Zugriff auf ein beliebiges Verzeichnis. Nur sagen Sie mir, was ich tun soll)
Die exception message ist Recht ordentlich, denke ich. "Root exception is java.lang.ClassNotFoundException: org.none.- Schnittstellen.NamingContextFactory". Sind Sie sicher, dass Sie die erforderlichen jar im classpath?
Finden Sie zuerst heraus, welche jar die Klasse kommt und dann stellen Sie sicher, wenn Sie die Anwendung ausführen, das jar in den classpath. Auch der code, den Sie geschrieben sind, nicht einmal relevant. Sie müssen überprüfen Sie Ihre classpath-Einstellung.
Lassen Sie mich beschreiben, was ich getan habe. Ich legte SpeakerRemote.java und SpeakerBean.java in jar-Datei mit maven Montage und Bereitstellung auf Jboss. Dann machte ich die client-app (Main.java + Invoke.java) und fügen Sie die jar-Datei in den lib-dir.
InformationsquelleAutor nightin_gale | 2013-12-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lesen Sie diese Dokumentation für JBoss 7.1
Remote-EJB-Aufrufe über JNDI - EJB-client-API oder remote-naming-Projekt
Hinzufügen zum classpath jboss-client.jar $JBOSS_HOME/bin/client
Invoker.java
Main.java
Anderen Ansatz: EJB-aufrufen von einem remote-client über JNDI
Hinzufügen zum classpath Datei " jboss-ejb-client.Eigenschaften
jboss-ejb-client
Invoker.java
Main.java
Es gibt keine Klassen in meiner Datei. Wenn Sie maven, versuchen hinzufügen dependensy org.jboss.als.jboss-as-ejb-client-Stückliste. Sie suchen in diesem Beispiel github.com/jboss-developer/jboss-eap-quickstarts/tree/master/....
Würd ich schaute durch dieses Beispiel, bevor Sie mir gab. Es wird beschrieben, jboss.docs. Aber ich nehme an, Sie hat nicht bekommen, was ich gesagt habe. Haben Sie einen Blick auf "RemoteCalculator" Klasse "lookupRemoteStatelessCalculator" - Methode. Es wird verwendet, diese Konstruktion: jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.die Benennung") Sag mir pls, wo "org.jboss.ejb.client.die Benennung" liegt? Wo kommt der JVM (oder etwas anderes) bekommen es bilden? Ich vermute, es stammt aus jboss-client.jar. Wenn es wahr ist, ich es sehen. Aber gehen throught diesem dir, ich kann es nicht finden in meinem jbosss-clinet.jar sehen Sie es?
Ja, ich sehe, org.jboss.die Benennung.remote.client.InitialContextFactory in jboss-client.jar.
Ok, ich fand es zu viel. Aber hören Sie, sagen Sie mir, wie kann ich RemoteCalculator in meinem Programm? Shell ich Spritzen etwas? Es gibt beschriebene EJB und EJB-Client. Sie sind versammelt in pom-Datei. Verstehe ich es. Aber wie kann ich das ausführen pom-Projekt? Ich kann nur bereitstellen.
InformationsquelleAutor Qwertovsky
Versuchen, diesen code
ping mich der vorherigen Ausnahme mit Zeilennummer
[ERROR] Failed to execute goal-Projekt SpeakerService: Konnte nicht lösen Abhängigkeiten, die für das Projekt test:SpeakerService:jar:1.0-SNAPSHOT: nicht zu erfassen sind Abhängigkeiten auf org.jboss.ejb3:jboss-ejb3-ext-api:jar:1.1.1 -> org.jboss.Metadaten:jboss-Metadaten:jar:1.0.0.CR16: Fehler beim Lesen der Artefakt-Deskriptor für org.jboss.Metadaten:jboss-Metadaten:jar:1.0.0.CR16: Konnte nicht übertragen Artefakt org.jboss.Metadaten:jboss-Metadaten:pom:1.0.0.CR16/vom jboss (repository.jboss.org/maven2), Aber ich versuche zu downloaden anderen artefactId
Ich bin versucht, das (mvnrepository.com/artifact/org.jboss.ejb3/jboss-ejb3-ext-api/...) Archetyp, aber es gibt keine Local/RemoteBinding.class 🙁 Was muss ich tun?
InformationsquelleAutor Karthikeyan Sukkoor