web-dev-qa-db-ja.com

メッセージJava.lang.IllegalStateException:No output folder

WindowsでTomcatを初めて使用します。 Javaプロジェクトを展開しようとしています。このプロジェクトをウィンドウで実行したいので、Tomcat Webアプリ内にプロジェクトフォルダーをコピーして貼り付けますディレクトリ

i.e C:\Program Files\Apache-Tomcat-6.0.37\webapps

しかし、最初のログインページを開いているときに以下のエラーに直面しているため、プロジェクトを実行できません。 Windowsにコードを展開する際に、コードまたはweb.xmlファイルをさらに変更する必要がありますか?

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.
31

Tomcatディレクトリへの完全なアクセスを許可しました。今、私はこのエラーを受け取っていません。ありがとう!!

52

私はubuntu 14.04で同様の問題に直面していました。何らかの分析を行っていて、作業フォルダーを手動で削除しました。次に、Tomcatサーバーの実行中に同じ例外が発生していました。問題は、Tomcatのマネージャーアプリケーションにアクセスするときに、コンテンツを表示するためにjspページが必要であり、JSPページがwork/Catalina/localhost/....フォルダーにある生成されたクラスファイルからレンダリングされることでした。

作業ディレクトリを手動で作成しましたが、問題は解決しませんでした。

作業ディレクトリを手動で作成したため、Tomcat7ユーザーにはそのディレクトリに書き込む権限がありませんでした。作業ディレクトリの所有者をルートからTomcat7に変更しました

Sudo chown Tomcat7 work

tomcatを再起動service Tomcat restart

問題が解決しました。

お役に立てれば

18
Sanjay Bharwani

Linux/Unixで問題に直面している場合:

手順:

ユーザーとサービスに注意してください、私の場合はTomcatでしたが、他のものでもかまいません...

1. mkdir work
2. Sudo chown Tomcat work  
3. service Tomcat6 restart
5
Fred Ondieki

ディスク容量を確認しますか?

/パーティションがいっぱいになったときにもこのエラーが発生しました。一部のディスク領域を解放すると、このエラーは解消されました。

1
AndyM

最初にTomcatをルートアカウントとして起動すると、作業フォルダーがすでに作成されています。 Tomcatアカウントにはフォルダ./workに対する権限がないため、TomcatアカウントとしてTomcatを実行しているため、例外をスローします。それを解決するには、ps remove ./workを実行し、TomcatユーザーによってTomcatを再起動します。

1
Stony

作業ディレクトリのpermissionsを変更しましたが、機能しています...

手順:
1。 Tomcatが存在するディレクトリに移動します
2。コマンドを実行します。
Sudo chmod 777 work

1
Shubhangi

キャッシュディレクトリ(Linuxでは/ var/lib/Tomcat6)への書き込み権限がないことが原因である可能性があります。この場合、次のコマンドを使用してフルアクセスを許可し、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がゼロから新しいディレクトリを作成できるようにすることで修正できます。

0
naXa

サーバーを完全に再起動してください(該当する場合)

0
Glogo

tomcatディレクトリに完全な許可を与えてからサービスを再起動します。それは私にとってはうまくいくでしょう、これがあなたにもうまくいくことを願っています。

0