Fehler : angeben Müssen Klassennamen in Umwelt-oder system-Eigenschaft

Ich bin neu in der Entwicklung von Java EE-Anwendungen und ich bin wirklich verwirrt darüber. Ich habe festgestellt, so viele Antworten, aber ich kann Sie nicht lösen, mein problem.

Dies ist der Fehler:

javax.die Benennung.NoInitialContextException: angeben Müssen Klassennamen in Umwelt-oder system-Eigenschaft oder als applet-parameter oder in einer Anwendung Ressource-Datei: java.die Benennung.factory.erste

Und das ist mein code :

public class Test {

    public static void main(String[] args) {
        List<Auto_2G> auto2 = new ArrayList<Auto_2G>();
        GestionCellRef2GRemote t = null;
        Context contxt=null ;
        //GestionCellRefDualmodeRemote p = null;
        //Auto_Dualmode autodualmode = new Auto_Dualmode();
        FileInputStream file=null;
        HSSFWorkbook classeur=null ;
        HSSFSheet feuille=null;
        Row roww=null;

        try {
            try {
                contxt = new InitialContext();
            } catch(NamingException e) {

            }
            t = (GestionCellRef2GRemote) contxt.lookup("/webpfe/GestionCellRef2G!tn.orange.pfe.services.GestionCellRef2GR emote");
            file= new FileInputStream(new File("test.xls"));
            classeur = new HSSFWorkbook(file);
            feuille = classeur.getSheetAt(0);
            int i=1;

            while(roww!=null) {
                roww=feuille.getRow(i);

                for (Auto_2G auto2g:auto2) {
                    auto2g.setBSC_Name(roww.getCell(0).getStringCellValue());
                    auto2g.setBTS_NAME(roww.getCell(2).getStringCellValue());
                    auto2g.setCELL_NAME(roww.getCell(4).getStringCellValue());

                    t.ajout2G(auto2g);
                }
                i++;
            }
            file.close();
        } catch (Exception e) {
            System.out.println("erreur"+e);
        }

        for(Auto_2G auto2g:auto2){
        System.out.println(auto2g.getId());
    }

Und das ist mein JNDI.Eigenschaften Datei:

java.naming.factory.url.pkgs=org.jboss.ejb.client.naming
java.naming.factory.initial=org.jboss.naming.remote.client.InitialContextFactory
java.naming.provider.url=http-remoting://localhost:8181
jboss.naming.client.ejb.context=true
jboss.naming.client.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT=false

log4j:WARN No appenders could be found for logger (org.jboss.logging).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
javax.naming.NamingException: Failed to create remoting connection [Root exception is java.lang.IllegalArgumentException: XNIO001001: No XNIO provider found]
    at org.jboss.naming.remote.client.ClientUtil.namingException(ClientUtil.java:51)
    at org.jboss.naming.remote.client.InitialContextFactory.getInitialContext(InitialContextFactory.java:152)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
    at javax.naming.InitialContext.init(InitialContext.java:244)
    at javax.naming.InitialContext.<init>(InitialContext.java:216)
    at tn.orange.pfe.test.Test.main(Test.java:41)
Caused by: java.lang.IllegalArgumentException: XNIO001001: No XNIO provider found
    at org.xnio.Xnio.doGetInstance(Xnio.java:226)
    at org.xnio.Xnio.getInstance(Xnio.java:192)
    at org.jboss.naming.remote.client.EndpointCache.get(EndpointCache.java:47)
    at org.jboss.naming.remote.client.InitialContextFactory.createEndpoint(InitialContextFactory.java:226)
    at org.jboss.naming.remote.client.InitialContextFactory.getOrCreateEndpoint(InitialContextFactory.java:207)
    at org.jboss.naming.remote.client.InitialContextFactory.getOrCreateNamingStore(InitialContextFactory.java:170)
    at org.jboss.naming.remote.client.InitialContextFactory.getInitialContext(InitialContextFactory.java:146)
    ... 5 more
java.lang.NullPointerException
    at tn.orange.pfe.test.Test.main(Test.java:46)
erreurjava.lang.NullPointerException
  • Sie müssen Ihren laden jndi.Eigenschaften und übergeben es an Ihre InitialContext. Werfen Sie einen Blick auf die Konstruktion einer JNDI-Kontext und Der JNDI-Umgebung erwähnt, hier.
  • Thank u, ich werde es sehen ^^
  • Ich denke, der kann zwei Gründe haben, entweder JNDI.Eigenschaften ist nicht im classpath, oder es sollte umbenannt werden, jndi.Eigenschaften (Kleinbuchstaben). Aber dann, als schnelle überprüfung, um zu sehen, ob es ein problem mit dieser Datei Eigenschaften, oder nicht, Sie können diese Eigenschaften in einem Properties Objekt wie Properties prop = new Properties(); prop.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory"); prop.put(Context.PROVIDER_URL, "http-remoting://localhost:8181"); and so on etc. und übergeben es an InitialContext als Context context = new InitialContext(prop);
  • Nach der Lektüre sehe ich, dass die Datei jndi.Eigenschaften ist die Einstellung in den classpath und es ist bereits geladen ist :/ vielleicht kann ich nicht sehr gut verstehen das tuto, kann u mir helfen, mehr plz :/ @aribeiro
  • Hi Madhusudana erstmal danke, und ich habe jetzt andere problem nach tun, was u sagen, [erreurjava.lang.NullPointerException] @MadhusudanaReddySunnapu
  • NPEs sind leichter zu beheben. Kannst du die exception-stacktrace, oder überprüfen Sie die Zeile immer, wo Sie NPE?
  • das ist das problem, denn ich habe die Quelle nicht gefunden, wenn ich versuche zu prüfen, die Linie -_-
  • Kannst du den stacktrace und der aktualisierte code? By the way, sind Sie immer diese Fehlermeldung, vor oder nach contxt.looup(...) Methode? Ich sehe einen leeren Raum in der lookup-Methode lRef2GR emote zwischen R und e, ist das ok? Ähnlich wie man code sagen Row roww=null und in der while-Schleife(roww !=null), es wird nie passieren diese Schleife. sollte es do..while statt?
  • es gibt keinen Raum in meinem code, war ein Tippfehler
  • und all das ist der stacktrace: #erreurjava.lang.NullPointerException
  • Statt System.out.println("erreur"+e); tun e.printStackTrace() dass wird Ihnen helfen, lokalisieren die NPE Lage? By the way, nicht der aktualisierte code als Antwort. In der gleichen Frage vor, fügen Sie es als AKTUALISIERTE code.
  • Blick auf die Ausnahme java.lang.ClassNotFoundException: org.jboss.naming.remote.client.InitialContextFactory Sie nicht haben, die notwendigen jar-Datei in den classpath. By the way, nicht der aktualisierte code als Antwort. In der gleichen Frage vor, fügen Sie es als AKTUALISIERTE code.
  • ok ich werde es sehen danke Madhusudana Reddy Sunnapu ^^
  • Blick auf die neuen updates, ich gehe zurück zu dem ersten problem und ich bekomme mehr, wenn ich jetzt die jar-Dateien -_-

InformationsquelleAutor MOhamed | 2016-03-21
Schreibe einen Kommentar