2011-09-10 8 views
0

私は、Tomcatアプリケーションをwebappsディレクトリにコピーして展開しようとしています。 index.jspwebappsにコピーしてTomcatアプリケーションを手動で展開する

webapps/test 
      |_ index.jsp 
      |_ WEB-INF 
        |_ lib 
         |_ test.jar 

内容は以下のとおりです:

<html> 
    Test App<br> 
    <%= com.stevekuo.Test.test() %> 
</htm> 

test.jarは単なる文字列を返す静的メソッドtest()Testクラスを持っている私のwebappsディレクトリは次のようになります。私はhttp://tomcatserver:8080/test/経由で私のアプリにアクセスすると

、私が得るすべては次のとおりです。

HTTP Status 500 - 

type Exception report 

message 

description The server encountered an internal error() that prevented it from fulfilling this request. 

exception 

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 3 in the jsp file: /index.jsp 
com.stevekuo.Test cannot be resolved to a type 
1: <html> 
2:  Test<br> 
3:  <%= com.stevekuo.Test.test() %> 
4: </html> 

私もwebappsにWARファイルとコピーに上記のディレクトリ構造をパッケージ化しようとしましたが、それはまだ同じエラーを与えます。

私はUbuntu 10.04で標準のすぐに使用できるTomcat 6を実行しています。 TomcatはUbuntuによってインストールされました。すべてのファイルには-rw-r--r--の権限があり、ディレクトリはdrwxr-xr-xです。 TomcatがWEB-INF/lib/test.jarにあるTestクラスを解決できないのはなぜですか?

+0

コンパイルしたクラスがjarファイルにありますか? Tomcatのマネージャページからwebappを配備しようとしましたか? – Paul

+0

はいJARが正しいと確信しています。また、 'java com.stevekuo.Test -jar test.jar'を介して呼び出すことができる主なメソッドが含まれています –

+0

Tomcatのマネージャーページを使用してデプロイするのはどうですか? – Paul

答えて

0

解決済み。私は空のweb.xmlを追加して動作します。

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!DOCTYPE web-app 
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
    "http://java.sun.com/dtd/web-app_2_3.dtd"> 

<web-app> 
</web-app> 
+0

私のアドバイスを受けて、Tomcatのマネージャーページを使って展開したらこれは39分前に解決されました:) – Paul

+0

Tomcat Managerは自動的に 'web.xml'を作成しますか? –

+0

私は知らないが、私はあなたがどのように見つけることができるか知っている:) – Paul

0

はあなたが<%@ page import="com.stevekuo.Test"%>

これが最も確実障害であると言うする必要がcom.stevekuo.Testを輸入しています。

+1

完全修飾名を使用する場合は、インポートする必要はありません。 – Paul

+0

違いはありません。 'Test'への参照は完全に修飾されています(つまり' com.stevekuo.Test') –

+0

あなたの権利..私はそれを逃しました:) –

関連する問題