2011-07-07 9 views
0

私はヘッダファイルを持っていたコードを実行したかったので、私はjava mailをダウンロード:javamailのクラスパス設定に問題がありますか?

import javax.mail.*;

import javax.mail.internet.*

しかし、たとえクラスパスを設定した後、私はそのコードを実行することができませんが。

jarファイルは、Javaのメールに含まは以下のとおりです。

  1. のmail.jar
  2. imap.jar
  3. dsn.jar mailapi.jar
  4. pop3.jar
  5. SMTP .jar

C:¥Program Files¥Java¥jdk1.7.0¥lib; C:¥Program Files¥Java¥javamail-1.4.4¥mail.jar; C:¥Program Files¥Java¥jdk1.7.0¥lib;プログラムFiles \ Java \ javamail-1.4.4 \ lib;。;

最初のjarファイルは別のディレクトリにあり、残りのjarファイルは1つのディレクトリにあります。

クラスパスが間違っている場合は、間違いを教えてください。 (私は正しいディレクトリを持っています)

もしクラスパスに問題がなければ、何が問題なのですか?

+1

完全なコマンドを指定してください。Javaの呼び出し方法 –

答えて

2

jarを含むディレクトリを指定することはできません。クラスパスでは、個々のjarを別々に指定する必要があります。

+0

はい!ありがとうございました。私はclasspathを設定していますが、なぜ私たちが**; **(最後にセミコロン)を入れるのかわかりません。理由は何ですか ? – saplingPro

+1

ドット(。) - アプリケーションを実行する現在の場所を示します。セミコロン(;)は、Windowsのパス区切り文字です。コロン(:)は、Linux/Unix上のパス区切り文字です。 – 01es

+0

@ 01es実際にここではどういう意味ですか?ドットを省略するとどうなりますか? – saplingPro

0

ワイルドカードはクラスパスの一部として使用できます。詳細はhereを参照してください。

0

あなたは-cpオプションを使用してJARのJavaランタイムを認識させる:

java -cp E:\yourjarfile.jar com.yourpackage.YourProgram 

あなたはCLASSPATH環境変数を経由して同じ操作を行うことができます。

set CLASSPATH="E:\yourjarfile.jar;E:\yourotherjarfile.jar" 

this Windows exampleを参照してください。

また、これはanswered beforeでした。

関連する問題