- PR -

javamail(MimeMessageクラス)について

投稿者投稿内容
ソラ
会議室デビュー日: 2004/08/27
投稿数: 16
投稿日時: 2004-11-17 15:03
javamailを使ってメールの送信をしたいのですが、RunTimeExceptionになってしまいます。
エラーメッセージは「NoClassDefFoundError」です。(ソースは参考書付属のもの)
エラー発生の行数を見ると、MimeMessageをnewしている行ですがクラスの入っているmail.jarはjre\lib\extにコピーしてあります。念のため、環境変数のclasspathにも追加してあります。

他に対応を思いつかないのですが、なにかアドバイスしていただけないでしょうか?


uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2004-11-17 15:14
そのプログラムはどのようなものですか? コンソールアプリケーション? Webアプリケーション?
ソラ
会議室デビュー日: 2004/08/27
投稿数: 16
投稿日時: 2004-11-17 15:18
servletです。doGetでフォームを作り、doPostでメールを送信するものです。
各パラメータはフォーム入力ではなく、全て固定です。

「サーブレット/JSP 逆引き大全500の極意」のTIPS192のコードです。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-11-17 15:34
どのクラスが見つからない、と出ていますか?
そのクラスをクラスパスに通しましょう。
また jre/lib/ext 以下にライブラリを置くと暗黙的にクラスパスに通ってしまうことからなにかとトラブルのもとになりますのでオススメ致しません。必ず明示的に通すようにしましょう。
ソラ
会議室デビュー日: 2004/08/27
投稿数: 16
投稿日時: 2004-11-17 15:45
レスありがとうございます。

すいません。エラーメッセージも正しく読み取れてるかわからないので、
エラーメッセージ、先頭2行を。

java.lang.NoClassDefFoundError: javax/activation/DataSource
at skill.Mail_Test.doPost(mail_test.java:51)

mail_testの51行目は
MimeMessage msg = new MimeMessage(s);
です。

classpathは明示した方がいいのですね。なるほど。おぼえておきます。
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2004-11-17 15:52
とりあえず、クラスが見つかりませんというエラーなので、

<CONTEXT>/WEB-INF/libにいれてみてはいかがですか?

coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2004-11-17 15:57
java mail を使うには、JavaBeans Activation Framework というライブラリも必要です。

http://java.sun.com/products/javabeans/glasgow/jaf.html
ソラ
会議室デビュー日: 2004/08/27
投稿数: 16
投稿日時: 2004-11-17 15:58

<CONTEXT>/WEB-INF/libにいれてみてはいかがですか?

すいません。何をどこに入れればいいのですか?
おバカなもので、頂いた文章ではさっぱりわかりません。。。

スキルアップ/キャリアアップ(JOB@IT)