- - PR -
javamail(MimeMessageクラス)について
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-11-17 16:16
いろいろアドバイスありがとうございます。
さっそく落として、classpathに追加して(importもしました)リコンパイル/実行してみましたが、結果はかわらずでした。 | ||||||||
|
投稿日時: 2004-11-17 16:25
関係あるかどうかはわかりませんが jre/lib/ext からライブラリはどけましたか?
| ||||||||
|
投稿日時: 2004-11-17 16:27
<CONTEXT>/WEB-INF/lib/mail.jar とactivation.jar IMAPプロトコル、POP3プロトコルも使うんだったらimap.jarとpop3.jarも・・ とにかくメールAPIを使うんだったら mail.jar activation.jar imap.jar pop3.jar smtp.jar ファイルを入れてください。 | ||||||||
|
投稿日時: 2004-11-17 16:34
まずWebアプリケーションの場合は、環境変数でクラスパスを設定したからといってそれが
有効になるとは限りません。該当の本が手元にないのでどんなプログラムかはわかりませんが、 WEB-INFディレクトリはありますよね? であれば、その下のlibディレクトリ(なければ作成して) に入れましょう。 それからいろいろ混乱しているようですが、import文とクラスパスは本質的に関係がありません。 | ||||||||
|
投稿日時: 2004-11-17 16:53
WEB-INFの下にlibを作成して、各種jarファイルをいれてみましたが、ダメでした。
根本的なところで間違ってるんですかねぇ・・・。 今更ですがjavamailは1.3.2です。昨日ダウンロードしました。 ※jarファイルには、importするもの(ライブラリ?)が入ってるのだと思ってました。 | ||||||||
|
投稿日時: 2004-11-17 18:40
どこのWEB-INFですか? また、闇雲にライブラリを配置していると、クラスがロードされている クラスローダの親子関係によって参照できるはずの場所に置いてあってもエラーになることは あります。
import文を記述すると、ソースコードに記述するクラス名のパッケージ名を省略できるように なるだけです。実行時にはまったく関係ありません。 | ||||||||
|
投稿日時: 2004-11-18 12:28
皆様、いろいろアドバイスありがとうございました。
どうにかこうにか、問題をクリアすることができました。 問題となっていたのは、WEB.XMLの記述方法でした。 <servlet> </servlet> <servlet-mapping> </servlet-mapping> <servlet> </servlet> <servlet-mapping> </servlet-mapping> と書いていたのですが、本来は <servlet> </servlet> <servlet> </servlet> <servlet-mapping> </servlet-mapping> <servlet-mapping> </servlet-mapping> と言う順序で書かなければいけなかったようです。全然知りませんでした。 ご協力ありがとうございました。 まだまだ始めたばかりなので、また質問すると思います。よろしくおねがいします。 | ||||||||
|
投稿日時: 2004-11-18 12:43
例外の中身をみずに「エラーがでた」とだけ認識しているのではないでしょうか?
皆さんの助言は NoClassDefFoundError に対するものです。 それは既に解決していたのかな? web.xml の要素の順序はパースのエラーにはなるかと思いますが NoClassDefFoundError を発生させるような性質の物ではないはずです。 例外の種類やスタックトレースを見て切り分けるようにしましょう。 |