6

私はこれで一日中戦っています:私はDynamicWebProjectを持っています。うまくいきました。しかし、ある時点で、プロジェクトで使用されなかった余分な瓶をきれいにすることにしました。掃除した後、たくさんのエラーが発生しました。したがって、すべての変更をロールバックします (つまり、すべての jar を元に戻しました)。しかし、プロジェクト、Eclipse、デバッグ構成のビルドパスも試しました。残念ながら、私はこの変更を覚えていませんでした (Path などで)。サーバーで実行すると、Tomcat は次のように表示します。

`

04.12.2012 16:37:43 org.apache.catalina.core.ApplicationContext log
SEVERE: StandardWrapper.Throwable
java.lang.NoClassDefFoundError: javax/servlet/ServletConfig
    at org.apache.axis2.deployment.WarBasedAxisConfigurator.<init>(WarBasedAxisConfigurator.java:103)
    at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:584)
    at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:454)
    at org.apache.axis2.webapp.AxisAdminServlet.init(AxisAdminServlet.java:60)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
04.12.2012 16:37:43 org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /library threw load() exception
java.lang.NoClassDefFoundError: javax/servlet/ServletConfig
    at org.apache.axis2.deployment.WarBasedAxisConfigurator.<init>(WarBasedAxisConfigurator.java:103)
    at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:584)
    at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:454)
    at org.apache.axis2.webapp.AxisAdminServlet.init(AxisAdminServlet.java:60)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
04.12.2012 16:37:43 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
04.12.2012 16:37:43 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
04.12.2012 16:37:43 org.apache.catalina.startup.Catalina start
INFO: Server startup in 3556 ms

`

私はこの果てしない戦いに本当に縛られています。私が間違っていることは何ですか?Eclipse と Tomcat は何を伝えようとしていますか?


終わり。

そう。機能を復元する方法。まず、私のプロジェクトはSVNリポジトリにバックアップされていました。次に、Eclipse で新しいワークスペースを作成します。別のフォルダーにある新しいワークスペース。そしてSVNからのCheckoutプロジェクト。その後、ステップ - サーバーで実行して、エラーをキャッチし、不足しているライブラリ (jar) を 1 つずつ追加しました。そして、おっと、それは機能します!だから私がどう思ったか、問題はEclipseとプロジェクトの構成にあり、実行/デバッグ構成にもあります。構成のエラーを見つける方法はわかりません:(しかし、古いワークスペースで試してみます。

4

2 に答える 2

8

クラスパスに servlet-api.jar がありません。確認してください

更新しました

1) Right click on project
2) Got to java build path
3) Click on add library in right hand side.
4) Choose server run time.
5) Click next and select your tom cat server.
6) Click on finish.

ここに画像の説明を入力

その後、もう一度やり直してください

于 2012-12-04T09:10:31.163 に答える
1

に移動し、Java Build Pathに移動してLibrariesをクリックしAdd Library、 を選択してServer RuntimeをクリックしNext、Web サーバーを選択して [完了] をクリックします。クリーンアップしてデプロイし、動作するかどうかを確認します。

于 2012-12-04T09:18:24.123 に答える