Подтвердить что ты не робот

Message java.lang.IllegalStateException: нет выходной папки

Я новичок в Tomcat в Windows. Я пытаюсь развернуть мой проект Java, который я сделал в RHEL 5, используя Tomcat. Теперь я хочу запустить этот проект в окне. Поэтому я скопировал и вложил папку своего проекта в каталог веб-приложений Tomcat

i.e C:\Program Files\apache-tomcat-6.0.37\webapps

но я не могу запустить проект, так как столкнулся с ошибкой при открытии первой страницы входа. Нужно ли делать какие-либо дальнейшие изменения в коде или файле web.xml, поскольку теперь я развертываю его в Windows?

type Exception report

message java.lang.IllegalStateException: No output folder

**Description** The server encountered an internal error that prevented
it from fulfilling this request.

Exception

org.apache.jasper.JasperException: java.lang.IllegalStateException: No output folder
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:538)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:364)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
root cause

java.lang.IllegalStateException: No output folder
    org.apache.jasper.JspCompilationContext.createOutputDir(JspCompilationContext.java:678)
    org.apache.jasper.JspCompilationContext.getOutputDir(JspCompilationContext.java:197)
    org.apache.jasper.JspCompilationContext.getClassFileName(JspCompilationContext.java:514)
    org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:453)
    org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:399)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.37 logs.
4b9b3361

Ответ 1

Я дал полный доступ к моему Tomcat Directory. Теперь я не получаю эту ошибку. Спасибо!

Ответ 2

Я столкнулся с аналогичной проблемой на ubuntu 14.04. Я делал некоторый анализ и вручную удалял рабочую папку. Затем при запуске сервера tomcat я получал такое же исключение. Проблема заключалась в том, что когда мы обращаемся к управляющему приложению tomcat, для отображения содержимого требуется страница jsp, а страница JSP отображается из файла сгенерированного класса, который находится в папке work/Catalina/localhost/.....

Я создал рабочий каталог вручную, однако проблема все еще не была решена.

Тогда я понял, что, поскольку я вручную создал рабочий каталог tomcat7, у пользователя не было разрешения писать в этом каталоге. Изменен владелец для рабочего каталога от root до tomcat7

sudo chown tomcat7 work

перезапустить tomcat service tomcat restart.

Проблема решена.

Надеюсь, что это поможет

Ответ 3

Если вы работаете в Linux/Unix и сталкиваетесь с проблемой:

ШАГОВ:

Обратите внимание на пользователя и службу, в моем случае это было вашим кошмаром, может быть что-то еще...

1. mkdir work
2. sudo chown tomcat work  
3. service tomcat6 restart

Ответ 4

Как ваш первый запуск tomcat как корневой учетной записи, рабочая папка уже была создана. Вы запускаете tomcat в качестве учетной записи tomcat, поскольку учетная запись tomcat не имеет права на папку. /work, поэтому бросайте исключение. Чтобы решить эту проблему, ps удаляет файл. /work, а затем перезагружает tomcat пользователем tomcat.

Ответ 5

Проверьте дисковое пространство?

Я также получил эту ошибку, когда мой/раздел был заполнен. Освобождение дискового пространства удалило эту ошибку для меня.

Ответ 6

предоставить полное разрешение на каталог tomcat, а затем перезапустить службу. Он будет работать для меня, я надеюсь, что это тоже сработает.

Ответ 7

Это может быть из-за отсутствия разрешений на запись в каталог кэша (/var/lib/tomcat6 в Linux). Если это ваш случай, используйте следующие команды для предоставления полного доступа и перезапуска Tomcat:

sudo /etc/init.d/tomcat6 stop
sudo chown -R tomcat6 /var/lib/tomcat6
sudo chmod -R 777 /var/lib/tomcat6
sudo /etc/init.d/tomcat6 start

Если это раньше работало, иногда рабочий каталог находится в плохом состоянии, и вы можете исправить его, просто удалив его и разрешив Tomcat создать новый с нуля.

Ответ 8

Попробуйте полностью перезагрузить сервер (если применимо)