次の2つのimportステートメントを持つ単純なコードをコンパイルすると:
import javax.mail.*
import javax.mail.internet.*
次のメッセージが表示されます。
package javax.mail does not exist
package javax.mail.internet does not exist
なぜこのエラーが発生するのですか?
ここに私が持っているコードがあります:
import javax.mail.*;
import javax.mail.internet.*;
import Java.util.*;
class tester {
public static void main(String args[]) {
Properties props = new Properties();
props.put("mail.smtp.com" , "smtp.gmail.com");
Session session = Session.getDefaultInstance( props , null);
String to = "[email protected]";
String from = "[email protected]";
String subject = "Testing...";
Message msg = new MimeMessage(session);
try {
msg.setFrom(new InternetAddress(from));
msg.setRecipient(Message.RecipientType.TO , new InternetAddress(to));
msg.setSubject(subject);
msg.setText("Working fine..!");
} catch(Exception exc) {
}
}
}
JavaMail API をダウンロードし、関連するjarファイルをクラスパスに配置する必要があります。
ダウンロードjavax.mail.jar
および次の手順を使用してプロジェクトに追加します。
Mavenを使用している場合は、pom.xmlに追加するだけです。
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.5.0-b01</version>
</dependency>
もちろん、 現在のバージョン を確認する必要があります。
javax.mail.jar
ライブラリが必要です。 Java EE JavaMail GitHubページ からダウンロードして、IntelliJプロジェクトに追加します。
javax.mail.jar
File > Project Structure...
に移動します+
ボタンをクリックします(新しいプロジェクトライブラリを追加)javax.mail.jar
ファイルを参照しますJava Mail APIへのアクセスを許可する必要な.jarファイルがない可能性があります。これらは here からダウンロードできます。
mail.jar
およびactivation.jar
ファイルのクラスパスを次のように設定する必要があります。
コマンドプロンプトを開きます:
c:\user>set classpath=%classpath%;d:\jarfiles\mail.jar;d:\jarfiles\activation.jar;.;
両方のファイルがない場合は、ダウンロードしてください here
前述のIMAPライブラリを使用したいが、gradleを使用する必要がある場合は、この行をモジュールgradleファイル(メインgradleファイルではない)に追加するだけです
compile group: 'javax.mail', name: 'mail', version: '1.4.1'
.jarファイルをダウンロードするためのリンクは私にとっては死んでいたので、別のルートを使用する必要がありました。
お役に立てれば :)
ProjectName\WebContent\WEB-INF\lib
フォルダーに貼り付けますProjectName\WebContent\WEB-INF\lib
から.jarファイルを選択し、[OK]をクリックします
それで全部です
Zipファイルを抽出し、関連するjarファイル( "mail.jar")をクラスパスに配置します
java.mailアプリケーションを構築するにはmail.jarとactivation.jarが必要です
私は自分自身でこれを解決したので、これが役立つことを願っています。私のプロジェクトはGlassFish 4、Eclipse MARS、JDK 1.8およびJavaEE 7で実行されます。
まず、抽出されたglassfish
フォルダーでjavax.mail.jar
を見つけることができます:glassfish4->glassfish->modules
次に、Eclipseで、エクスプローラーでプロジェクトを右クリックし、次をナビゲートします。Properties->Java Build Path->Libraries->Add External JARs->
前述のフォルダーに移動してjavax.mail.jar
を追加します
同じ問題があった。明らかに、これらの.jarは、すぐにJava <= v8.xに含まれていましたが、もう含まれていません。したがって、それらを個別にダウンロードし、上記の数人が強調した適切なクラスパスに配置する必要があります。新しいJavaはモジュール化されているため、潜在的にはより軽量になる可能性があることは理解しています(古いセットアップはモンスターであったため、これは確かに良いことです)。一方、これは-ご覧のとおり-古いビルド設定の多くを壊します。これらを修正する時間はオラクルに課金されないので、これにより彼らの決定が容易になったと思います...