Wenn ich einen einfachen Code kompiliere, der die folgenden 2 Importanweisungen enthält
import javax.mail.*
import javax.mail.internet.*
Ich erhalte folgende Nachricht:
package javax.mail does not exist
package javax.mail.internet does not exist
Warum erhalte ich diesen Fehler?
Hier ist der Code, den ich habe:
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) {
}
}
}
Sie müssen die JavaMail API herunterladen und die entsprechenden JAR-Dateien in Ihren Klassenpfad einfügen.
Laden Siejavax.mail.jar
herunter und fügen Sie es mit folgenden Schritten zu Ihrem Projekt hinzu:
Wenn Sie Maven verwenden, fügen Sie einfach pom.xml hinzu:
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.5.0-b01</version>
</dependency>
Natürlich müssen Sie die aktuelle Version überprüfen.
Sie benötigen die javax.mail.jar
-Bibliothek . Laden Sie sie von Java.net herunter und fügen Sie sie Ihrem IntelliJ-Projekt hinzu:
javax.mail.jar
herunterladenFile > Project Structure...
+
(Neue Projektbibliothek hinzufügen).javax.mail.jar
-DateiMöglicherweise verfügen Sie nicht über die erforderlichen JAR-Dateien, über die Sie auf die Java Mail-API zugreifen können. Diese können von hier heruntergeladen werden.
sie müssen den Klassenpfad Ihrer mail.jar
- und activation.jar
-Datei so einstellen:
Öffnen Sie die Eingabeaufforderung:
c:\user>set classpath=%classpath%;d:\jarfiles\mail.jar;d:\jarfiles\activation.jar;.;
und wenn Sie nicht beide Dateien haben, laden Sie sie bitte hier herunter hier
Für alle, die noch immer die oben genannte IMAP-Bibliothek verwenden möchten, aber Gradle verwenden müssen, fügen Sie diese Zeile einfach zu Ihrer Modul-Gradle-Datei hinzu (nicht zur Haupt-Gradle-Datei).
compile group: 'javax.mail', name: 'mail', version: '1.4.1'
Die Links zum Herunterladen der .jar-Datei waren für mich tot, daher musste eine alternative Route gewählt werden.
Hoffe das hilft :)
ProjectName\WebContent\WEB-INF\lib
einWählen Sie die JAR-Datei aus ProjectName\WebContent\WEB-INF\lib
aus und klicken Sie auf OK
das ist alles
Laden Sie die Datei "javamail1_4_5.Zip" von http://www.Oracle.com/technetwork/Java/javasebusiness/downloads/Java-archive-downloads-eeplat-419426.html#javamail-1.4.5-oth-JPR herunter
Extrahieren Sie die Zip-Datei und legen Sie die entsprechende JAR-Datei ("mail.jar") im Klassenpfad ab
sie benötigen mail.jar und activation.jar, um eine Javamail-Anwendung zu erstellen
Ich habe das gerade für mich gelöst, also hoffe das hilft. Mein Projekt läuft auf GlassFish 4 , Eclipse MARS , mit JDK 1.8 und JavaEE 7 .
Zunächst finden Sie javax.mail.jar
im extrahierten glassfish
-Ordner: glassfish4->glassfish->modules
Klicken Sie anschließend in Eclipse mit der rechten Maustaste auf Ihr Projekt im Explorer und navigieren Sie wie folgt: Properties->Java Build Path->Libraries->Add External JARs->
Gehen Sie zu dem zuvor genannten Ordner, um javax.mail.jar
hinzuzufügen
Hatte das gleiche Problem. Offensichtlich waren diese .jars standardmäßig in Java <= v8.x enthalten, sind dies jedoch nicht mehr. Daher muss man sie separat herunterladen und in den entsprechenden Klassenpfad einfügen, wie von mehreren Leuten oben hervorgehoben. Ich verstehe, dass das neue Java modularisiert ist und daher möglicherweise leichter ist (was sicherlich eine gute Sache ist, da das alte Setup ein Monster war). Andererseits bricht dies - wie wir sehen können - viele alte Build-Setups. Da die Zeit für die Behebung dieser Probleme nicht von Oracle zu tragen ist, hat dies ihre Entscheidung leicht gemacht ...