1

コマンドライン Java プログラム (html アナライザー) を作成し、それを Web サービスに変換しようとしています。

いくつかの情報を収集してプログラムに渡す jsp ファイルを作成しました。問題は、サーブレットが、html ソースを分析する前に (HTMLCleaner) 美化するために使用するライブラリの jar を見つけることができないため、例外で esecution を停止することです。

Tomcat ログ内に次のメッセージがあります。

SEVERE: Servlet.service() for servlet [Validate] in context with path [/MyWebService] が例外をスローしました [サーブレットの実行が例外をスローしました] 根本原因 java.lang.NoSuchMethodError: org.htmlcleaner.HtmlCleaner.(Ljava/io/File ;) V at it.mypackage.mybeautifierclass.(mybeautifierclass.java:39)

私は Netbeans 7.1.2 を IDE として使用しています。Web サービスのプロジェクトのライブラリとして HtmlCleaner の jar を既に含めており、コマンドライン バージョンは完全に機能します。

HTMLCleaner が見つからないのはなぜですか?

4

1 に答える 1

0

tomcat は、開発/コンパイルしたライブラリとは異なるバージョンのライブラリを見つけたようです。クラスはそこにありますが、コンパイル時に使用されたものと同じインターフェイスがありません。

WEB-INF/libスタンドアロンを使用しているバージョンと、Web アプリケーションのディレクトリに作成されたバージョンを確認してください。また、Tomcat の/libディレクトリのグローバル クラスパスなど、複数のバージョンが利用できる場合があります。Web アプリケーションで見つからない場合は、グローバル クラスパスで検索してください。

編集: Anders がコメントしているように、ライブラリのすべてのインスタンスを必ず見つけてください。たとえそれが既に見つけたものと同じディレクトリにあるとしてもです。

于 2013-01-07T10:47:13.593 に答える