フィルター オブジェクトを実装し、web.xml ファイルに登録しました。Tomcat サーバーを起動すると、次のエラーが表示されます。
Apr 7, 2012 12:24:18 AM org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter Google Bot Filter
java.lang.InstantiationException: eu.homeinspiration.server.SEOFilter
at java.lang.Class.newInstance0(Class.java:340)
at java.lang.Class.newInstance(Class.java:308)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:125)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:256)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:103)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4638)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5294)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:958)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1599)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
ここで何が問題なのかわかりません。フィルター オブジェクトは、このリンクhttp://code.google.com/p/gwt-platform/source/browse/src/com/philbeaudoin/gwtp/で提供されるフィルター クラス コードとほぼ同じです (いくつかの小さな変更を除く)。クローラー/サーバー/CrawlFilter.java?r=6e633296934feb9d8150f53b07b8b9515ea6dc4b
編集:問題はコンストラクターによって引き起こされました:
public SEOFilter( Logger log )
ジェネリックコンストラクターを追加しました
public SEOFilter() {
this.log = Logger.getAnonymousLogger();
}
今では動作します。読んでくれてありがとう。