Нулевой указатель при развертывании WAR (s) - PullRequest
1 голос
/ 08 февраля 2012

У меня есть 3 WAR-файла в / home / local / deploy / eclipse / webapps. Они были созданы с использованием файлов сборки Ant. Теперь я хочу развернуть их, используя Tomcat, из командной строки. Соответствующий фрагмент из моего server.xml выглядит следующим образом:

<Host appBase="/home/local/deploy/eclipse/webapps" autoDeploy="true" name="localhost" unpackWARs="true">
    <Context docBase="/home/local/deploy/eclipse/webapps/VechileTracking" 
         Path="/V" reloadable="true" 
         source="org.eclipse.jst.jee.server:VechileTracking"/>
    <Context docBase="/home/local/deploy/eclipse/webapps/RE"  
         Path="/RouteEngine" reloadable="true" 
         source="org.eclipse.jst.jee.server:RouteEngine"/>
    <Context docBase="/home/local/deploy/eclipse/webapps/Main" 
         Path="/GHyd" reloadable="true" 
         source="org.eclipse.jst.jee.server:Main"/>
</Host>

Проблема в том, что всякий раз, когда я выполняю команду "sh startup.sh", я получаю исключение нулевого указателя, например:

INFO: Deploying web application archive VechileTracking.war
- java.lang.NullPointerException
    at java.io.FileInputStream.<init>(FileInputStream.java:116)
    at java.io.FileInputStream.<init>(FileInputStream.java:79)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:306)
    at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:324)
    at com.stw.server.infrastructure.ApplicationContextListener.contextInitialized(Unknown Source)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

Feb 8, 2012 1:13:58 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive RE.war
- 
java.lang.NullPointerException
    at java.io.FileInputStream.<init>(FileInputStream.java:116)
    at java.io.FileInputStream.<init>(FileInputStream.java:79)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:306)
    at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:324)
    at com.stw.routeengine.infrastructure.ApplicationContextListener.contextInitialized(Unknown Source)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
Feb 8, 2012 1:14:00 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive Main.war
- java.lang.NullPointerException
    at java.io.FileInputStream.<init>(FileInputStream.java:116)
    at java.io.FileInputStream.<init>(FileInputStream.java:79)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:306)
    at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:324)
    at com.stw.server.infrastructure.ApplicationContextListener.contextInitialized(Unknown Source)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

Я пытался вставить операторы печати в метод, который дает (Неизвестный источник), но там его нет. Что еще может пойти не так? Файлы WAR распакованы и правильно хранятся.

РЕДАКТИРОВАТЬ: Привет, проблема была решена. Проблема заключалась в том, что контекстный путь и база приложения, а также путь, указанный в файле основных свойств, были не совсем одинаковыми. Из-за этого что-то или другое продолжало идти не так. Благодарю. Что касается log4j, свойства были определены в файле свойств.

Ответы [ 3 ]

0 голосов
/ 08 февраля 2012

Файл журнала / каталог, указанный в свойствах log4j / xml, не существует.

0 голосов
/ 08 февраля 2012

Все исключения происходят от org.apache.log4j.PropertyConfigurator, это означает, что ваше приложение уже загружено и имеет неправильный / отсутствующий конфиг для log4j

См. Ваш web.xml для конфигурации od listener

com.stw.server.infrastructure.ApplicationContextListener
0 голосов
/ 08 февраля 2012

Файл конфигурации log4j не найден в указанном месте.

Посмотрите на ваш соответствующий исходный код, URL или (относительное?) Имя файла не может быть разрешено.

Подсказка:

запустите сеанс удаленной отладки (неслишком сложно с затмением) и заставить отладчик останавливаться на исключениях NPE.Тогда вы сможете прочитать фактическое имя файла и сможете скопировать / развернуть файл mising в нужное место.

...