Сбой создания контекста при запуске теста JUNIT - PullRequest
0 голосов
/ 24 октября 2011

Я создал небольшой тест junit, который запускается из моего приложения-клиента. Мой сервер Glassfish 3.1.1. Когда я запускаю тест, я получаю эту ошибку:

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

Я уже добавил свойства в контекст, но ничего не изменилось. Вот как я настроил свой контекст:

@Before
    public void setUp() throws NamingException {
        Properties props = new Properties();
        System.out.println("launch");
        props.setProperty("java.naming.factory.initial",
                "com.sun.enterprise.naming.SerialInitContextFactory");

        props.setProperty("java.naming.factory.url.pkgs",
                "com.sun.enterprise.naming");

        props.setProperty("java.naming.factory.state",
                "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");


        // optional.  Defaults to localhost.  Only needed if web server is running
        // on a different host than the appserver   
        //props.setProperty("org.omg.CORBA.ORBInitialHost", "localhost");

        // optional.  Defaults to 3700.  Only needed if target orb port is not 3700.
        //props.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
        Context annuaire = new InitialContext(props);
        GeoBeanRemote service = (GeoBeanRemote) annuaire.lookup(GeoBeanRemote.class.getName());
        BeanProvider.setGeoBean(service);
    }

app-serv.rt и gf-client добавлены в мой run-test.

Спасибо.

1 Ответ

0 голосов
/ 24 октября 2011

У меня та же проблема, когда jndi.properties отсутствовал в моем пути к классам.

Добавление: Я чувствую себя немного глупо здесь, но я не думаю, что вы можете установить свой первоначальный контекст таким образом. Я отмечаю, однако, что свойства JNDI даже не нужно устанавливать на Glassfish, так что цвет меня смущает.

...