![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| RuselSt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 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. Может как-то связано с правами доступа? или это какой-то баг? |
|||
|
||||
| RuselSt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 27.10.2008 Репутация: нет Всего: нет |
уточнил по правам доступа - даны права администратора. не пойму в чем проблема?
|
|||
|
||||
| RuselSt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 27.10.2008 Репутация: нет Всего: нет |
Уффф...
нашел в чем причина! вся ошибка была в %20 в имени пути Program%20Files. Добавлено через 1 минуту и 37 секунд поменял на Program Files (c пробелом) и усе заработало! |
|||
|
||||
| ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
Во многих случаях приведённый код не будет работать. ClassLoader#getResource() возвращает URL, и само содержимое этого ресурса может находиться чёрти-где(в JAR'е, на сервере и т.п.), а не только в файловой системе.
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |