2013-02-23 7 views
7

私は、Javamail APIを使用して、タイムイベントや特定の条件に基づいて電子メールを送信するプログラムを作成しています。このプログラムはEclipse(完全版)で完全に動作し、javamailの依存関係と同様に、javamailとactivatorのjarもビルドパスにあります。この問題は、プロジェクトをjarファイルとしてエクスポートして実行しようとしたときに発生します。 (生成されたスタック・トレースは、javamail jarがEclipseビルド・パスにない場合と同じです。次のようにjava.lang.NoClassDefFoundError:javax/mail/MessagingException

スタックトレースは次のとおりです。

`Exception in thread "Timer-1" java.lang.NoClassDefFoundError: javax/mail/MessagingException 
at SpaceCheck.HourlySpaceAlerts(SpaceCheck.java:212) 
at WarningReports.run(WarningReports.java:21) 
at java.util.TimerThread.mainLoop(Unknown Source) 
at java.util.TimerThread.run(Unknown Source) 
Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException 
at java.net.URLClassLoader$1.run(Unknown Source) 
at java.net.URLClassLoader$1.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
... 4 more` 

はあなたの助けをいただき、ありがとうございます。

+0

あなたはすべての依存関係のオプションが含まれてjarファイルとしてエクスポートしてみてください。 – devang

+0

「エクスポートされたクラスファイルとリソースのエクスポート」が選択されていますが、これは正しいオプションですか? – user2101299

+0

あなたはこれのクイックフィックスを見つけましたか? –

答えて

11

あなたがエクスポートしたjarファイルへlib/フォルダへの相対でjavamailや他の依存関係を置くと仮定すると、あなたがマニフェストファイルにそれらのjarファイルを宣言する必要があります。

Class-Path: lib/javamail.jar 
+0

残念ながら私はすでにこれをやってしまった。役に立たない。 – user2101299

+0

提案していただきありがとうございます、それは良いものでした。 – user2101299