NoClassDefFoundError; javax/mail/Address エラーが発生する

このQ&Aのポイント
  • 環境変数の設定にもかかわらず、NoClassDefFoundError; javax/mail/Address エラーが発生する問題があります。
  • Eclipse3.2を使用し、tomcat(5.5)プロジェクトにmail.jarとactivation.jarをインポートしています。
  • サーブレットを通さずにプログラムを実行するとメール送信は正常に行われますが、サーブレットを通すとNoClassDefFoundErrorが発生します。
回答を見る
  • ベストアンサー

NoClassDefFoundError; javax/mail/Address エラーが出る 

お世話になります。 下記URLと同じ現象が起きて困っております。 http://oshiete1.goo.ne.jp/qa3120878.html 記事にある通り、環境変数も設定したのですが、解決しません。 (スペルミス等はないはずです) 現在、サーブレットを通してメール送信を行おうとしております。 Eclipse3.2を使い、tomcat(5.5)プロジェクトを立ち上ちあげ、そこへ mail.jar と activation.jarをインポートしております。 サーブレットを通さずにプログラムを実行すると、問題なくメール送信 が行われるのですが、サーブレットを通すと、表題のエラーがでます。 どなたか同じようなご経験、もしくはアドバイスがあればお願いします。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
noname#49428
noname#49428
回答No.1

インポートとはどういった状態のことですか? 単にクラスパスに追加されてないだけのような気がします。 サーブレットから使う場合は、"WEB-INF/lib"直下にjarファイルを置いてありますか?

first-try
質問者

お礼

>Eclipseのプロパティから、外部jarのインポートで mail.jar、activation.jarを追加していました。 サーブレットを使わなければ、これで問題なかったようです。 >単にクラスパスに追加されてないだけのような気がします。 >サーブレットから使う場合は、"WEB-INF/lib"直下にjarファイルを置 >いてありますか? ありませんでした。WEB-INF/lib直下にjarファイルをコピペしたら エラーメッセージが消えました。 ありがとうございました!!

関連するQ&A

  • 『javax.mail.*』が見つかりません。

    『javax.mail.*』が見つかりません。 7年ぶりにプログラムを作ることになりました。 JavaMailを使ったソース(送信部分)でimportがエラーになります。 状況は以下の通りです。 1.ソース先頭で『import javax.mail.*』をコーディングしています。 2.javamail-1.4.3.zipのmail.jarにパスを通してあります。 3.jaf-1_1_1.zipのactivation.jarにパスを通してあります。 ここで、『j2ee.jar』を入手してパスを通すため、J2EEをダウンロードしようとしましたが、見つかりません。 4.JAVA EE6をダウンロードしてインストールしたら、glassfishv3が出来ました。   (JAVA EE6が最新版のようでしたので…) 5.glassfishv3下に『j2ee.jar』が見当たりません。 6.jdk1.6.0_19下にもjre6にもありません。 いろいろとググってみましたが、『j2ee.jarにパスを通す』という回答ばかり見つかります。 『j2ee.jar』の入手方法、もしくは『JAVA EE6に含まれる別のjarで対応』するのか、どなたか御教授お願いいたします。

    • ベストアンサー
    • Java
  • eclipseでプロジェクトをインポートしたらエラー表示。

    こんにちは。JAVA初心者です。 今、Tomcatを使用してeclipse上でJAVAの開発を行っています。 (ちなみにeclipseはWTPを使用してます。) 先日、他の人が作ったプロジェクトをインポートしたところ、エクスプローラー上で赤い×印が出てしまいました。それが、コードにでているのではなく、パッケージ(とそれ以上の階のプロジェクトのアイコン等)のみにでているので、修正場所が分からず困っています。 クラスパスの設定を確認したところ、必要なjarファイルや他プロジェクトのインポートの設定はできています。 私は、このインポートしたプロジェクトをインポートしたくラスを作りたいのですが、×が付いているうちはうまく動作しないようで困っております。 インポートしたプロジェクトを正常に動作するようにするにはどうすればよいでしょうか? ちなみに他の独立したプロジェクトではJSPやサーブレットが問題なく動作しております。 考えられる原因として、何かご助言を頂ければ幸いです。 よろしくお願い致します。 OS Windows XP JDK jdk1.5.0_09 サーブレットコンテナ Tomcat5.5 統合開発環境 Eclipse3.2

    • ベストアンサー
    • Java
  • Eclipseで別プロジェクトをTomcatで使用

    EclipseにTomcatプラグインを入れて Tomcatプロジェクトでサーブレットを作ってます。 そしてこのTomcatプロジェクトから別のライブラリプロジェクトを読み込んでいます。 EclipseのJavaのビルドパスにこのライブラリプロジェクトを指定しているので Eclipseから実行した場合はきちんとこのライブラリプロジェクトを利用して実行できます。 (リアルタイムでライブラリプロジェクトの修正が反映されます) しかしTOMCATでサーブレットを実行した場合にはこのライブラリプロジェクトを読み込んでくれないようで ClassNotFoundExceptionになってしまいます。 ライブラリプロジェクトをJarにしてTomcatのlib以下に置いてやればきちの読み込まれますが できればTomcatプラグインを使って実行した際にライブラリプロジェクトもコンパイルしてTOMCATに読み込ませてライブラリプロジェクトの変更内容もリアルタイムで反映させたいです。 そういう風にするにはどこで設定すればよろしいでしょうか? Eclipse Keplerを使ってます。

    • ベストアンサー
    • Java
  • EclipseでのJavaサーブレット開発で、プロジェクトに対するビルドパスの設定について

    Javaプログラミング初心者です。 MacOS 10.5環境で、Eclipse3.5, Tomcat5.5を使ってJavaのWebアプリ開発環境を作りたいと思っています。 サーブレットを作るので ・javax.servlet.* ・javax.servlet.http.* のパッケージをimportするために、Tomcatのcommon/lib/servlet-api.jarをクラスパスに指定する必要があると思うのですが、 Eclipseで新規サーブレットを作った際に、自動的にこのクラスパス指定を行う方法はありますか? 今のところ、サーブレット作成の度に、そのプロジェクトフォルダに対してビルドパスを設定している状況です。 教えて頂けないでしょうか、よろしくお願いいたします。 (ところで、この質問をする際、投稿カテゴリーで「プログラミング」を指定しているにも関わらず、なぜか反映されないので、「その他」カテゴリで質問させて頂きます。)

  • J2EEのjavax.mail機能について

    Tomcat4.1.18と1.4.0及び拡張ファイルactivation.jarとmail.jarファイルを使用し、ある教本からクライアントからの新規会員の仮登録があると、mailで本登録を行うかどうか仮登録をしたクライアントに自動的に送るというシステムを構築中です。現在SMTPサーバーの接続のところでエラーが発生している状態です。 SMTPサーバーの設定で使用するPropertiesクラス及びsetProperty()メソッドの使用について詳しく教えてもらえないでしょうか? // SMTPサーバーの設定 Properties props = new Properties(); props.setProperty(smtpServer, "mail.smtp.host"); J2EEのリファレンスを参照してみたのですが、Propertiesクラスがなかったので仕様がわかりませんでした。

  • javamailのインポートでエラー

    開発環境はeclipseを使用していますが、 import javax.mailでエラーが発生しています。 javamailは、「ウィンドウ」の「設定」の「java」の 「ビルドパス」の「クラスパス変数」にmail.jarを設定しています。 ご教授お願いします。

  • Eclipseでプロジェクトを作るとコンテキスト記述子が出来ない?

    「はじめてのJSP&サーブレットプログラミング」という本で勉強しています。 その本では「データベースへの接続で、データソースを使ってデータベースに接続するようにするために、データソースの設定にコンテキスト記述子への記述が必要です。Tomcatの場合は~ディレクトリ以下にあります。」とあるのですが、Eclipseで「動的WEBプロジェクト」でプロジェクトを作ると、そこのフォルダにそのXMLファイルが出来ません。 ためしに「Tomcatプロジェクト」でプロジェクトを作ってみるとプロジェクトを作ったらすぐ出来ました。 これはEclipseでこういうサーブレットでデータベースに接続するような作業は「Tomcatプロジェクト」で作るように、ということなのでしょうか?しかし、「動的WEBプロジェクト」で作ったプロジェクトでは新規で何かファイルを作る時に候補に自動的にJSPやサーブレットといったものが挙がるのでやはりサーブレットは「動的WEBプロジェクト」で作るのでは? と分からないでいます。 よろしくお願いします。

    • ベストアンサー
    • Java
  • ダウンロードしたjarをimportしたい

    Eclipseでダウンロードしたjarファイルをimportしたいのですが、エラーをはいて困っています。 ソースでいうと 一行目の import com.lowagie.text.*; の時点で「インポートされたcom.lowagieはみつかりません」とでてしまいます。 環境変数の「CLASSPATH」の内容は . ;C:\Program Files\Java\jre6\lib\ext\QTJava.zip ;C:Tomcat 6.0\webapps\userclass\iTextAsian.jar ;C:Tomcat 6.0\webapps\userclass\iText-2.1.7.jar と下の2行を追加しました。 またjarを解凍して「com\lowagie\text」があるのは確認しています。 どこに原因があるのでしょう?お返事おまちしております。

    • ベストアンサー
    • Java
  • JavaMailを使う前のTomcatの設定

    JavaMailでメールを送信するプログラムを作成しております。 バージョンは Tomcat5.5.33 JDK6.0_35 です。 いろいろ調べていると、JavaMailのAPIが必要という事がわかり、次のURLから http://www.oracle.com/technetwork/java/javamail/index.html javax.mail.jarとactivation.jarをダウンロードして TomcatのWEB-INF/libにコピーしました。 この設定で間違いはないでしょうか? まだメール送信はできておりません。 素人な質問で申し訳ありません。 どなたか、ご教授願います。

  • jarが参照するjarを取り込む必要がありますか?

    Androidアプリ(以下、自作アプリ)でJavaMailを使ったメール送信機能を作成しています。 メール送信機能はjar(以下、自作jar)として実装しており、 自作jarのプロジェクトにはJavaMailに必要な以下のjarファイルを取り込んでいます。  <JavaMailに必要なjarファイル>(以下、外部jarファイル)   ・activation.jar   ・additionnal.jar   ・mail.jar 自作jarファイルのみを自作アプリのプロジェクトに取り込み、 メール送信を行うと以下の例外が発生します。  <発生した例外>   java.lang.NoClassDefFoundError: javax.mail.Session    → クラス(のファイル)が見つからないという例外 試しに自作アプリのプロジェクトに外部jarファイルも一緒に取り込むと正常に動作します。 自作jarのプロジェクトに外部jarファイルを取り込んでいるので、 自作jarファイルには外部jarファイルがすべて取り込まれているように思います。 (2重で取り込んでいるような気がしてとても気持ちが悪いです) 自作アプリのプロジェクトに外部jarファイルを再度、取り込まないといけないのでしょうか?

    • ベストアンサー
    • Java

専門家に質問してみよう