従来のApache/Tomcatアプリケーション用のテスト設定を作成しようとしています。正直言って、それが「アプリケーション」なのかどうかはわかりません。特定のディレクトリに存在するJSPの集合です。従来のTomcatアプリケーションのWEB-INFの場所の指定
jspsが正しく表示されています。問題は、WEB-INFフォルダ内のclassesフォルダが見つからないことです。NoClassDefFoundError例外が発生しています。物事を複雑にする
は、「のアプリが」あると彼らはWEB-INFを共有:
4 drwxr-xr-x 8 root root 4096 Dec 2 09:38 thing1
4 drwxr-xr-x 8 root root 8192 Dec 2 09:38 thing2
4 drwxr-xr-x 8 root root 4096 Dec 2 09:38 WEB-INF
だから、この消毒-について - あなたの-正気の例では、我々は2つの「アプリケーション」を参照しますおよび共有WEB-INFフォルダー。
1つのURLが動作しますhttp://mysite/thing1/index.jspそのページからログインしようとすると、NoClassDefエラーが発生します。
ここにserver.xmlファイルの関連部分を示します。だから、index.jspファイルの実際のパスは、前述の私の質問は、私はTomcatのにとてもthing1 & 2使用のWEB-INFを設定しなければならないのか、であるトニー/ ROOT/thing1/index.jspを
<Host name="tony.com" appBase="tony/ROOT">
<Alias>111.111.111.111</Alias>
<Context path="" docBase="" debug="0" reloadable="true" crossContext="true" />
</Host>
です彼らのlibとクラスフォルダのために?これらの 'アプリ'は戦争ファイルとして展開されていません...
(注 - 制作ボックスのコピーを作成するのは難しいでしょう - そこにはたくさんのものが走っています。いくつかのアプリケーションのためのテスト環境)
ずにあなたが実際にシングルをしました2つのサブフォルダを持つアプリケーションで、2つのアプリケーションではありません。 'NoClassDefFoundError'に従ってクラスパスに欠けているクラスはどれですか?緩やかな '.class'ファイルは'/WEB-INF/classes'に入り、 '.jar'ファイルにパッケージ化されたクラスは'/WEB-INF/lib'に入るはずですか? – BalusC
はい。クラスファイルはWEB-INF/classesにあり、jarファイルはWEB-INF/libにあります。しかし、問題のクラスはパッケージ名に基づいてクラス内の_subdirectory_にあります。それはそこにあります、Tomcatはそれを見ることができません。特権はOKです。 –
下記の@ Bozhoのコメントに従って、tomcat/tony/ROOTからtomcat/webappsにファイルを移動しました。 _org.apache.jasper.JasperException:JSPのクラスをコンパイルできません:生成されたjavaファイルの行:7でエラーが発生しました。タイプのみインポートできます。 rpsi.rpsiMeWebはパッケージ_に解決されます。これはindex.jspです。 _webapps_にコードを移動する前に正しくコンパイルしていたので、設定上の問題ではありません。 –