- - PR -
Strutsでvalidatorが動かせません
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-04-20 16:57
kuroと言います。
現在、Webアプリの構築を行うため、Strutsを学習しているのですが、 validatorで詰まってしまいました。すべてがはじめてなので、もしかしたら 的外れな事を言っているかもしれません。。。 環境は下記のとおりです。 jdk:1.5.0.11 Eclipse:3.2 Tomcat:5.5.23 Struts:1.2.9 commons-validator:1.3.1 struts-configの設定などを行い実行したところ、下記のエラーがでました。 致命的: StandardWrapper.Throwable java.lang.NoClassDefFoundError: org/apache/commons/validator/ValidatorResourcesInitializer ・ ・ ・ 確かに、commons-validator.jarを展開してみると、 ValidatorResourcesInitializerクラスが存在していないのです。 ValidatorResourcesInitializerで検索してみたのですが、ほとんど情報がありません。 一応、下記のページを見るとValidatorResourcesInitializerというクラスはどこかに 存在しているようなのですが、私の環境には存在しておらず困っています。 http://www.jajakarta.org/commons/validator-1.0.2/ja/withPrimary/org/apache/commons/validator/ValidatorResourcesInitializer.html ご存知の方がいらっしゃいましたら、お願い致します。 |
|
投稿日時: 2007-04-20 17:36
本来Struts1.2.9に付属しているCommons Validatorのバージョンは1.1.4のはずです。
そこに含まれているクラスを利用するコードになっているので、 java.lang.NoClassDefFoundErrorがスローされている状態です。 何故オリジナルを使わずに、外部からバージョンの合わないValidatorを導入したのでしょうか? |
|
投稿日時: 2007-04-20 18:05
>>かつのりさん
ありがとうございます。 Strutsとcommons-validatorは正しいバージョンの対応でないと駄目なのですね。 なぜ外部から導入したのかですが、現在DBとの接続にcommons-dbcp.jarなどを 使っているのですが、これらと同じようにcommons-validator.jarもDLしてくる のだと思っていました。 おかげさまで、Struts1.2.9に付属のcommons-validatorを使用することで、 前述のjava.lang.NoClassDefFoundErrorは解消されました。 ところが今度は、 2007/04/20 17:45:35 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator-rules.xml' 2007/04/20 17:45:58 org.apache.struts.validator.ValidatorPlugIn initResources 致命的: Connection timed out: connect java.net.ConnectException: Connection timed out: connect と、タイムアウトになってしまいました。 もしかしてvalidator-rules.xmlか、validation.xmlあたりの設定が 間違っているという事なのでしょうか・・・? |
|
投稿日時: 2007-04-21 00:38
xmlに外部のDTDのアドレスが記述されていませんか?
ネットに繋がらない環境でDTDの解決をネット経由で行おうとして、 失敗している気がしますが、スタックトレースを見ないと何とも言えませんね。 追記: DTDの場合Jarに含まれるDTDファイルとかでも解決できるので、 Commons Validatorのコードを見ないと分からないですね。。。 [ メッセージ編集済み 編集者: かつのり 編集日時 2007-04-21 00:40 ] |
|
投稿日時: 2007-04-26 10:26
ここ最近別作業で手がつけられませんでした。
かつのりさんの言うように、外部のDTDのアドレスが記述してあります。 ただ、ネットは繋がる環境です。 トレースを見てみると、どうやらxmlローディングの1回目は前述のタイムアウトで、 その後もう一度ローディングを行っており、そこではエラーが起きていないようです。 なにか気持ち悪いですが、DTD関連は問題はなさそうです。 ただ、あいかわらずvalidatorは動かせていませんが・・・ 続きは独力でなんとかしてみたいと思います。 ありがとうございました。 |
1