Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> java.io.File list() NullPointerException 
:(
    Опции темы
RuselSt
Дата 23.1.2009, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.10.2008

Репутация: нет
Всего: нет



Всем привет. Срочно нужна помощь, может кто сталкивался с такой ошибкой. Есть веб приложение, которое нормально работает под XP, устанавливаю на windows 2003, вот в этом месте:

public void initJbpm()
    {
                // ПОЛУЧАЕМ КАТАЛОГ
        File jbpmDir = new File(                Thread.currentThread().getContextClassLoader().getResource(Constants.JBPM_DIR).getPath());
        // ЭТО ЛОГИ
log.info("jbpmDir ="+jbpmDir);
        log.info("Thread.currentThread().getContextClassLoader() ="+Thread.currentThread().getContextClassLoader());
        log.info("Thread.currentThread().getContextClassLoader().getResource(Constants.JBPM_DIR) ="+Thread.currentThread().getContextClassLoader().getResource(Constants.JBPM_DIR));
        log.info("Thread.currentThread().getContextClassLoader().getResource(Constants.JBPM_DIR).getPath() ="+Thread.currentThread().getContextClassLoader().getResource(Constants.JBPM_DIR).getPath());

        CommandService cmd = new CommandServiceImpl(jbpmConfiguration);
        Boolean redeployAllProcesses = (Boolean)m2CommonFacade                .getConvertedM2Property(Constants.StartupParams.PARAM_REDEPLOY_JBPM_PROCESSES.getName());

        for (String fileName : jbpmDir.list())   // ОШИБКА ВЫБРАСЫВАЕТСЯ ЗДЕСЬ
        {
            if (redeployAllProcesses)
            {
                deployProcess(jbpmDir.getAbsolutePath() + "\\" + fileName);
            }
            else
            {
                String processName = ProcessDefinition.parseXmlInputStream(
                        Thread.currentThread().getContextClassLoader().getResourceAsStream(
                                Constants.JBPM_DIR + fileName))
                        .getName();

                GetProcessDefinitionCommand getProccessDefinitonCommand = new GetProcessDefinitionCommand(
                        processName);
                try
                {
                    cmd.execute(getProccessDefinitonCommand);
                }
                catch (JbpmException e)
                {
                    deployProcess(jbpmDir.getAbsolutePath() + "\\" + fileName);
                }
            }
        }
    }


выбрасывается NullPointerException:

java.lang.NullPointerException
    at ru.amfitel.m3000.ui.selfcare.core.blogic.m2000Impl.M2000ContextInitializer.initJbpm(M2000ContextInitializer.java:110)
    at ru.amfitel.m3000.ui.selfcare.core.mbean.InitializerServletContextListener.contextInitialized(InitializerServletContextListener.java:28)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4523)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:5184)
    at com.sun.enterprise.web.WebModule.start(WebModule.java:326)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:973)
...


файл логов:
2009-01-22 15:08:04,703 INFO  m2000Impl.M2000ContextInitializer - jbpmDir =C:\Program%20Files\Java\glassfish\domains\domain1\applications\j2ee-modules\amsc\WEB-INF\classes\jbpm

2009-01-22 15:08:04,703 INFO  m2000Impl.M2000ContextInitializer - Thread.currentThread().getContextClassLoader() =WebappClassLoader
  delegate: true
  repositories:
    /WEB-INF/classes/
----------> Parent Classloader:
EJBClassLoader : 
urlSet = []
doneCalled = false 
 Parent -> java.net.URLClassLoader@ed5d9d

2009-01-22 15:08:04,703 INFO  m2000Impl.M2000ContextInitializer - Thread.currentThread().getContextClassLoader().getResource(Constants.JBPM_DIR) =file:/C:/Program%20Files/Java/glassfish/domains/domain1/applications/j2ee-modules/amsc/WEB-INF/classes/jbpm/

2009-01-22 15:08:04,703 INFO  m2000Impl.M2000ContextInitializer - Thread.currentThread().getContextClassLoader().getResource(Constants.JBPM_DIR).getPath() =/C:/Program%20Files/Java/glassfish/domains/domain1/applications/j2ee-modules/amsc/WEB-INF/classes/jbpm/


по файлам логов видно что jbpmDir не null. Может как-то связано с правами доступа? или это какой-то баг? 
PM MAIL   Вверх
RuselSt
Дата 23.1.2009, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.10.2008

Репутация: нет
Всего: нет



уточнил по правам доступа - даны права администратора. не пойму в чем проблема?
PM MAIL   Вверх
RuselSt
Дата 23.1.2009, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.10.2008

Репутация: нет
Всего: нет



Уффф...
нашел в чем причина! вся ошибка была в %20 в имени пути Program%20Files.

Добавлено через 1 минуту и 37 секунд
поменял на Program Files (c пробелом) и усе заработало!  smile  smile 
PM MAIL   Вверх
ivg
Дата 23.1.2009, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Autonomous R&D
**


Профиль
Группа: Участник
Сообщений: 686
Регистрация: 8.2.2006
Где: Екатеринбург

Репутация: 32
Всего: 81



Во многих случаях приведённый код не будет работать. ClassLoader#getResource() возвращает URL, и само содержимое этого ресурса может находиться чёрти-где(в JAR'е, на сервере и т.п.), а не только в файловой системе. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0557 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.