Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

ClassCastException (bei JavaMail API)

Frage Entwicklung Java

Mitglied: Lonsdaleit

Lonsdaleit (Level 1) - Jetzt verbinden

17.10.2013, aktualisiert 21.10.2013, 1422 Aufrufe, 1 Kommentar

Hallo zusammen,

ich stehe vor dem folgenden Problem:

Ich habe ein Programm geschrieben, dass mein Emailpostfach abfragt, die Emails aus einem angegebenen Ordner ausliest, abspeichert und deren Attachments(pdf) extrahiert und ebenfalls abspeichert.
Das realisiere ich mit der JavaMail API.

Um die Email abzufragen, rufe ich ihren Content auf und caste diesen zu einem Multipart, um anschließend die einzelnen Elemente durchzuarbeiten.

01.
mes = new MimeMessage((MimeMessage) mai); 
02.
					 
03.
System.out.println(mes.getContent()); 
04.
Multipart mp = (Multipart) mes.getContent();
In der Entwicklungsumgebung (eclipse - Kepler) ausgeführt funktioniert alles ohne Probleme (auch keine Warnungen etc).
Als Dienst ausgeführt habe ich das Problem, dass er anstatt einen Multipart aus dem Content einen IMAPInputStream erkennt und diesen nicht casten kann.

Hier die beiden Ausgaben:

Log-Datei (Dienst):
Messages gesamt: 1
unread Messages: 0
com.sun.mail.imap.IMAPInputStream@11218cf
java.lang.ClassCastException: com.sun.mail.imap.IMAPInputStream cannot be cast to javax.mail.Multipart
Ende

Eclipse-Console:
Messages gesamt: 1
unread Messages: 0
javax.mail.internet.MimeMultipart@60765a16
Ende

Wie zu erkennen ist, läuft das Programm in der Entwicklungsumgebung Problemlos durch - es führt auch alle geforderten Tasks aus.
(Die fettmarkierte Stelle ist die Ausgabe des Types an der Stelle in der Entwicklungsumgebung und im Dienst)


Es handelt sich in beiden Fällen um die selbe Email.
Ausgeführt wird das Programm mit der gleichen jre (1.7.0_25)
Compiliert ist das Programm mit der gleichen jdk (1.6.0_25) ->diese Version ist bewusst gewählt und nötig.

Kann mir jemand sagen, wie bzw. warum dieses Problem zustande kommt? Oder hat sogar eine Lösung im Angebot?

lg
JP
Mitglied: Lonsdaleit
21.10.2013 um 14:45 Uhr
Mir ist es heute gelungen das Problem zu lösen.
In meinem Fall brauchte ich nur die neuste Version der WinRun4J.exe um den Dienst zu registrieren.
Danach wurde die Class auch im Dienst korrekt erkannt und das Programm lief erfolgreich bis zum Ende durch.

Für diesen kleinen Fehler habe ich nun viele Stunden Arbeit investiert!
Bitte warten ..
Ähnliche Inhalte
Linux Tools
gelöst Icinga Director - Api User lässt sich nicht einrichten (1)

Frage von seltsam zum Thema Linux Tools ...

Windows Server
Api-ms-win-crt-runtime-l1-1-0.dll fehlt auf Windows Server 2012 R2 (4)

Frage von CharlyXL zum Thema Windows Server ...

Datenbanken
Datenbank API Automation

Link von Frank zum Thema Datenbanken ...

Visual Studio
Mit Visual Basic auf Shopware 5 API zugreifen (9)

Frage von SmogKiel zum Thema Visual Studio ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(3)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (41)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Off Topic
gelöst Fachzeitschriften als E-Book oder hardcoded? (11)

Frage von KowaKowalski zum Thema Off Topic ...

Windows 10
Windows Store Apps ohne Windows Store installieren (10)

Frage von keefien zum Thema Windows 10 ...