Javamail

Underpay0299

Mitglied
Hallo,
ich versuche mich momentan mit Javamail 1.4.5. In Eclipse neon.3 klappt das auch. Aber sobald ich das Projekt exportiere bekommen ich den Fehler:
Code:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/MessagingException
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
        at java.lang.Class.privateGetMethodRecursive(Unknown Source)
        at java.lang.Class.getMethod0(Unknown Source)
        at java.lang.Class.getMethod(Unknown Source)
        at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
        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)
        ... 7 more

Was kann ich tun?
Code:
import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class main {
   public static void main(String[] args) {

       final String username = "ich";
       final String password = "mein pwd";

       Properties props = new Properties();
       props.put("mail.smtp.auth", "true");
       props.put("mail.smtp.starttls.enable", "true");
       props.put("mail.smtp.host", "smtp.gmail.com");
       props.put("mail.smtp.port", "587");

       Session session = Session.getInstance(props,
         new javax.mail.Authenticator() {
           protected PasswordAuthentication getPasswordAuthentication() {
               return new PasswordAuthentication(username, password);
           }
         });

       try {

           Message message = new MimeMessage(session);
           message.setFrom(new InternetAddress("xyz@xyz.xyz"));
           message.setRecipients(Message.RecipientType.TO,
               InternetAddress.parse("xyz@xyz.xyz"));
           message.setSubject("Testing Subject");
           message.setText("Dear Mail Crawler,"
               + "\n\n No spam to my email, please!");

           Transport.send(message);

           System.out.println("Done");

       } catch (MessagingException e) {
           throw new RuntimeException(e);
       }
   }

}
 

RalleYTN

Bekanntes Mitglied
Liegt die Bibliothek auch nach dem Exportieren noch im Class Path?
Öffne deine exportierte JAR einmal mit WinRar/7Zip und guck in "META_INF" > "MANIFEST.MF"
 

Underpay0299

Mitglied
Das hier steht da drin:
Code:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: 1.6.0_26 (Sun Microsystems Inc.)
Built-By: shannon
Build-Jdk: 1.6.0_26
Extension-Name: javax.mail
Implementation-Title: javax.mail
Implementation-Vendor: Oracle
Implementation-Vendor-Id: com.sun
Implementation-Version: 1.4.5
Probe-Provider-XML-File-Names: META-INF/gfprobe-provider.xml
Specification-Title: JavaMail(TM) API Design Specification
Specification-Vendor: Oracle
Specification-Version: 1.4
Export-Package: javax.mail.internet;uses:="com.sun.mail.util,javax.mai
 l,javax.activation,javax.mail.util";version="1.4",javax.mail.util;use
 s:="javax.activation,javax.mail.internet";version="1.4",javax.mail.se
 arch;uses:="javax.mail.internet,javax.mail";version="1.4",javax.mail;
 uses:="javax.mail.event,javax.mail.search,javax.activation,com.sun.ma
 il.util";version="1.4",javax.mail.event;uses:="javax.mail";version="1
 .4",com.sun.mail.imap;uses:="com.sun.mail.iap,com.sun.mail.imap.proto
 col,javax.mail,javax.activation,com.sun.mail.util,javax.mail.internet
 ,javax.mail.search,javax.mail.event";version="1.4.5",com.sun.mail.ima
 p.protocol;uses:="com.sun.mail.iap,com.sun.mail.util,javax.mail.inter
 net,javax.mail,javax.mail.search,com.sun.mail.imap,javax.security.sas
 l,javax.security.auth.callback";version="1.4.5",com.sun.mail.iap;uses
 :="com.sun.mail.util";version="1.4.5",com.sun.mail.pop3;uses:="javax.
 mail,com.sun.mail.util,javax.mail.internet,javax.net.ssl,javax.mail.u
 til";version="1.4.5",com.sun.mail.smtp;uses:="com.sun.mail.util,javax
 .mail.internet,javax.mail,javax.security.sasl,javax.security.auth.cal
 lback";version="1.4.5",com.sun.mail.util;uses:="javax.mail,javax.net.
 ssl,javax.mail.internet,javax.mail.util,sun.security.util,javax.net,j
 avax.security.auth.x500";version="1.4.5",com.sun.mail.util.logging;us
 es:="javax.mail,javax.mail.internet,javax.mail.util,javax.activation,
 com.sun.mail.smtp";version="1.4.5",com.sun.mail.handlers;uses:="javax
 .activation,javax.mail.internet,javax.mail,javax.xml.transform,javax.
 xml.transform.stream";version="1.4.5"
Tool: Bnd-0.0.357
Bundle-Name: JavaMail API
Bundle-Vendor: Oracle
DynamicImport-Package: *
Bundle-Version: 1.4.5
Bnd-LastModified: 1332282371691
Bundle-ManifestVersion: 2
Bundle-Description: JavaMail API
Bundle-License: http://www.sun.com/cddl, https://glassfish.dev.java.ne
 t/public/CDDL+GPL.html
Import-Package: com.sun.mail.handlers;version="1.4",com.sun.mail.iap;v
 ersion="1.4",com.sun.mail.imap;version="1.4",com.sun.mail.imap.protoc
 ol;version="1.4",com.sun.mail.pop3;version="1.4",com.sun.mail.smtp;ve
 rsion="1.4",com.sun.mail.util;version="1.4",com.sun.mail.util.logging
 ;version="1.4",javax.activation,javax.crypto,javax.crypto.spec,javax.
 mail;version="1.4",javax.mail.event;version="1.4",javax.mail.internet
 ;version="1.4",javax.mail.search;version="1.4",javax.mail.util;versio
 n="1.4",javax.net,javax.net.ssl,javax.security.auth.callback,javax.se
 curity.auth.x500,javax.security.sasl;resolution:=optional,javax.xml.t
 ransform,javax.xml.transform.stream,sun.security.util;resolution:=opt
 ional
Bundle-SymbolicName: com.sun.mail.javax.mail
Bundle-DocURL: http://www.oracle.com
 

RalleYTN

Bekanntes Mitglied
Ist das das MANIFEST deiner JAR oder ist es das MANIFEST der Java Mail API?
Wichtig ist nämlich das MANIFEST deiner JAR.

Da müsste es dann einen Eintrag "Class-Path" geben und in diesem Eintrag müsste auf die Java Mail API verwiesen werden.
 

Underpay0299

Mitglied
Jo es wird auf die Mail API verwiesen:
Code:
Bundle-Name: JavaMail API
Bundle-Vendor: Oracle
DynamicImport-Package: *
Bundle-Version: 1.4.5
Bnd-LastModified: 1332282371691
Bundle-ManifestVersion: 2
Bundle-Description: JavaMail API
 

RalleYTN

Bekanntes Mitglied
Normalerweise sieht eine MANIFEST Datei etwa so aus:
Code:
Manifest-Version: 1.0
Class-Path: . lib/mail.jar
Main-Class: de.pak.MyMainClass
 

RalleYTN

Bekanntes Mitglied
Keine Ahnung aber du kannst es selber fixen indem du beim exportieren ein Benutzerdefiniertes MANIFEST mitgibst.

Müsste so aussehen:
Code:
Manifest-Version: 1.0
Class-Path: . pfad/zu/der/java/mail/api.jar
Main-Class: voller.name.der.Hauptklasse
<HIER MUSS EINE LEERZEILE HIN>

Die Bibliotheken auf dem Class-Path werden mit einem Leerzeichen getrennt.
Der Punkt am Anfang ist wichtig.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W JavaMail mit OAuth2 an O365 Allgemeine Java-Themen 2
G javamail Problem beim Empfangen von Nachrichten Allgemeine Java-Themen 3
X Fragen zur Javamail API und Gmail Allgemeine Java-Themen 4
Dann07 Problem mit JavaMail API Allgemeine Java-Themen 26
V JavaMail (die 2.) Allgemeine Java-Themen 5
V Java8 und JavaMail Allgemeine Java-Themen 27
OnDemand JavaMail ohne Anhang senden Allgemeine Java-Themen 4
S JavaMail - MailSubject,MailFrom,MailDate in String Array speichern NullPointerException Allgemeine Java-Themen 2
L ClassCastException (JavaMail API) Allgemeine Java-Themen 3
M JavaMail Spam-Ordner Allgemeine Java-Themen 2
J javamail --- UnsupportedDataTypeException Allgemeine Java-Themen 6
N [GWT] JavaMail kommt nicht an Allgemeine Java-Themen 9
T JavaMail: "No provider for imaps" Allgemeine Java-Themen 2
B JavaMail Allgemeine Java-Themen 10
GUI-Programmer JavaMail - Anhang hochladen vor senden der Nachricht Allgemeine Java-Themen 4
F JavaMail - Lokale eMail-Datei einlesen und parsen? Allgemeine Java-Themen 9
K Javamail:Probleme mit der Darstellung von Umlaute in Subject Allgemeine Java-Themen 15
Mike90 JavaMail: Betreff bei POP3 nicht abrufbar Allgemeine Java-Themen 2
hdi JavaMail Lib einbinden? Allgemeine Java-Themen 5
B JavaMail + Bouncy Castle: isEncrypted Allgemeine Java-Themen 3
N Again - JavaMail Allgemeine Java-Themen 4
F Eclipse JAVAMAIL läuft nur unter Eclipste Applet Viewer Allgemeine Java-Themen 4
M Javamail -> andere Möglichkeit für Attachment Allgemeine Java-Themen 5
J JavaMail nur mit JEE? Allgemeine Java-Themen 4
C javamail signatur und verschlüsselung Allgemeine Java-Themen 2
R Javamail Allgemeine Java-Themen 5
V Source zu Javamail? Allgemeine Java-Themen 2
F Umlaute: E-Mail per JavaMail und Textfile Allgemeine Java-Themen 5
G Javamail Nachricht senden: Betreff und Header fehlen Allgemeine Java-Themen 4
G Frage zu JAVAMail Allgemeine Java-Themen 10
T JavaMail versendet Schrott Allgemeine Java-Themen 9
C Probleme mit JavaMail und JAR-File Allgemeine Java-Themen 10
S JavaMail --> HTML-Mail verschicken? Allgemeine Java-Themen 7
J Externe File Emails für JavaMail Allgemeine Java-Themen 4
D JavaMail SMTP Fehlermeldung Allgemeine Java-Themen 2
D JavaMail Fehlermeldung Allgemeine Java-Themen 4
Luma JavaMail, Was versteht sich unter der CDDL Lizenz Allgemeine Java-Themen 6
G JavaMail API Allgemeine Java-Themen 4
S Mit javamail kompiliertes Programm läuft nicht ohne jar's Allgemeine Java-Themen 6
G JavaMail - Message vom Server, wie abfragen? Allgemeine Java-Themen 2
R JavaMail + Lotus Notes Allgemeine Java-Themen 8
S JavaMail: Problem mit SecurityException Allgemeine Java-Themen 2
P Probleme mit javaMail Allgemeine Java-Themen 2
M JavaMail? Allgemeine Java-Themen 3
D JavaMail - Authenticator Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben