Ошибка JNDI в java .

168
13 января 2018, 01:19

При запуске программы , вылазит ошибка :

Exception in thread "main" javax.naming.NoInitialContextException: Cannot instantiate class: java.naming.factory.initial [Root exception is java.lang.ClassNotFoundException: java.naming.factory.initial]
    at java.naming/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:719)
    at java.naming/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305)
    at java.naming/javax.naming.InitialContext.init(InitialContext.java:236)
    at java.naming/javax.naming.InitialContext.<init>(InitialContext.java:208)
    at com.company/com.company.JndiLesson.main(JndiLesson.java:16)
Caused by: java.lang.ClassNotFoundException: java.naming.factory.initial
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:375)
    at java.naming/com.sun.naming.internal.VersionHelper.loadClass(VersionHelper.java:107)
    at java.naming/com.sun.naming.internal.VersionHelper.loadClass(VersionHelper.java:82)
    at java.naming/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:716)

Вот код программы :

import javax.naming.*;
import java.io.File;
import java.util.Properties;
public class JndiLesson {
    public static void main(String[] args) throws NamingException {
        String name = "txt.txt";

        Properties props = new Properties();
        props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory");
        props.put(Context.PROVIDER_URL, "file:///");
        Context initialContext = new InitialContext(props);
        //File obj = (File) initialContext.lookup(name);
        //System.out.println(obj.getName());
        // if (name.equals(""))
        //    System.out.println("Looked up the initial context");
        //else
        //    System.out.println(name + " is bound to: " + obj);
        //NamingEnumeration bindings = initialContext.listBindings("/src/");
        //  while (bindings.hasMore()) {
        //     Binding bd = (Binding) bindings.next();
        // System.out.println(bd.getName() + ": " + bd.getObject());
        //  }
    }
}

Почему возникла данная ошибка и как её решить? P.S. Использую java 9

READ ALSO
Не билдится проект Android Studio

Не билдится проект Android Studio

Вылетает такая куча ошибок, когда пытаюсь сбилдить проект:

180
Как отследить прокрутку экрана в CollapsingToolBarLayout?

Как отследить прокрутку экрана в CollapsingToolBarLayout?

В активности имеется AppBarLayout и NestedScrollView, каким образом можно отследить момент прокручивания экрана вниз? У меня в плане скрывать один из элементов...

180
class cannot be instantiated

class cannot be instantiated

Решил доработать старый проект ,под новые версии android 7,8Проект открыл в android studio 3

170
Панель не по центру

Панель не по центру

Я создал панель и указал параметр setLocationRelativeTo(null), чтобы она была по центру, а потом вызвал специальный метод pack(), чтобы моя форма изменила...

160