shokosブログ

プログラミング

きょうのエラー

その1
org.apache.wicket.WicketRuntimeException: path: 'id' does not exist for page: HomePage

'id'というpathはHomePageに存在しないよ  というエラー。

解決しました!
idはformの中に作りました。
1個前の記事に書いたように、tester.assertComponentの第一引数を相対パスにしていなかったのが原因でした。
自分で書いておいてもう!!



その2
org.apache.wicket.WicketRuntimeException: Method onFormSubmitted of interface org.apache.wicket.markup.html.form.IFormSubmitListener targeted at component [MarkupContainer [Component id = form]] threw an exception

formに追加したテキストフィールドにモデルを持たせていなかったのが原因らしい
モデルについては次の記事で



その3
java.lang.IncompatibleClassChangeError: Class org.apache.log4j.Logger does not implement the requested interface org.slf4j.Logger

まずIncompatibleClassChangeErrorのjavaAPIを見てみた。
「クラス定義に互換性のない変更があった場合にスローされます。現在実行中のメソッドが依存しているクラスの定義が、実行開始後に変更されています。」
とのこと。
!!
これはもしや噂のserialVersionUIDのことか?
明示しないと勝手に変わっちゃうっていうあれか?
と思い、Serializableを実装しました。(忘れていた)
そして直列化するクラスに全部serialVersionUIDをいれました。

まだまだ赤いので究明中。。
でもわたしLog4JなんてDLしてないよー?
と思ったらLog4jWicketにはいっているものらしいです

まだまだ同じエラーでなやみちゅう