2012-12-04 8 views
6

私はこれで一日中戦っています: 私はDynamicWebProjectを持っています。それは正常に働いた。しかし、ある時点では、私はプロジェクトで使われていなかった余分な瓶をきれいにしたがっていました。私のクリーニングの後、私はエラーの束を持っている。だから私はすべての変更をロールバックする(私はすべての瓶を元に戻した)。しかし、私はプロジェクトのビルド・パス、Eclipseのデバッグ・コンフィグのものも試しました。残念ながら私はこの変更を覚えていませんでした(パスのもの)。私は、サーバーのように実行する場合と、Tomcatは私にこのことを示していますサーバで実行すると、Eclipse - Tomcat - java.lang.NoClassDefFoundError:javax/servlet/ServletConfig

`

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が私に言っていることは何ですか?


完了。

So.どのように機能を復元しますか。 まず、私のプロジェクトはSVNリポジトリにバックアップされていました。 次へEclipseで新しいWorkspaceを作成します。別のフォルダにある新しいワークスペースSVNからチェックアウトプロジェクト。 その後、サーバーでステップ実行すると、エラーが発生し、欠落しているライブラリ(jar)が1つずつ追加されました。そして、うわあ、それは動作します! どのように考えたのですか、問題はeclipceとプロジェクトの設定にあり、Run/Debug Configurationにもあります。コンフィギュレーションのエラーをどのように見つけるか、私は知りません:(私は、古いワークスペースでみます。

+0

サーブレットの設定ファイルを投稿してください。 –

+0

私は本当に自分自身のサーブレットを使用していません。私はaxis2用のこのサーブレットを推測します。私はそれに何も変えなかった。 – miroque

+0

必要なすべてのjarが$ CALINICA_HOME/libに存在するかどうかチェックしますか? –

答えて

8

あなたのクラスパスにサーブレット-api.jarのが欠落している。

を更新し、それをチェック

enter image description here

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. 
はその後をクリックして、 Librariesに行き、 Java Build Pathに再び

+0

ええ、私の検索で私はこの間違いがserver-api.jarである可能性があることを発見しました。私はEclipseを使用しています。 DynWebProjでは、JavaResources-> Libraries-> ApacheTomcatv7.0 - servlet-api.jarが存在します。私はこの瓶を "Debug Configurations .."に書き込もうとしていますが、私はもっと間違いがあります。 – miroque

+0

更新された部品を確認してください。 – Suranga

+0

私はこれをやった。しかし、同じ条件があります:(しかし多分これはいくつかのadd.infoを提供する 'INFO:[SHA1PRNG]を使ったセッションID生成のためのSecureRandomインスタンスの作成は[718]ミリ秒かかりました。 2012-12-04 17:29:10,067 [WARN ] [host-startStop-1] [.transport.http.AxisAdminServlet] - Webアプリケーションはorg.apache.axis2.transport.http.AxisAdminServletを使用します。代わりにorg.apache.axis2.webapp.AxisAdminServletを使用するようにweb.xmlを更新してください 04.12.2012 17:29:10 org.apache.catalina.core.ApplicationContextログ 重大度:StandardWrapper.Throwable java.lang。NoClassDefFoundError:javax/servlet/ServletConfig' – miroque

1

ゴーをしてみてください、Server Runtimeを選択し、Nextをクリックし、Webサーバーを選択して、完了をクリックします。それが動作するかどうかを確認してください。

+0

イエップ、私はprevoiusの答えのようにそれをやった。また、きれいなプロジェクト、きれいなtomcat作業ディレクトリ。問題はなくなった。たぶん私はいくつかの瓶を倍増? – miroque

+0

'Ctrl' +' Shift' + 't'を使用してjavax.servlet.ServletConfigと入力すると、重複したjarファイルを追加したかどうかを確認できます。このランタイムライブラリをそのまま使用し、このクラスを提供していた他のライブラリ/ jarを削除して、一度試してみてください。 –

+0

私はこのホットキーの組み合わせが好きです。しかし、(javax.servlet.ServletConfig)は1回だけ表示されます。だからどこか二倍にしたかどうか分からない。 – miroque

関連する問題