I tried parsing a .msg file with a pdf attachment and when I tried to run the code it threw a ClassNotFoundExpection.
My build.gradle looks like the following:
plugins {
id 'java'
id 'org.springframework.boot' version '2.6.6'
id 'io.spring.dependency-management' version '1.1.0'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.11'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.simplejavamail:outlook-message-parser:1.9.6'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
The code I was using:
InputStream is = getClass().getClassLoader().getResourceAsStream("msg/attachment_pdf.msg");
OutlookMessageParser msgp = new OutlookMessageParser();
OutlookMessage msg = msgp.parseMsg(is);
The error that showed up:
java.lang.NoClassDefFoundError: jakarta/activation/MimetypesFileTypeMap
at org.simplejavamail.outlookmessageparser.model.MimeType.createMap(MimeType.java:31) ~[outlook-message-parser-1.9.6.jar:na]
at org.simplejavamail.outlookmessageparser.model.MimeType.<clinit>(MimeType.java:24) ~[outlook-message-parser-1.9.6.jar:na]
at org.simplejavamail.outlookmessageparser.model.OutlookFileAttachment.checkMimeTag(OutlookFileAttachment.java:100) ~[outlook-message-parser-1.9.6.jar:na]
at org.simplejavamail.outlookmessageparser.OutlookMessageParser.parseAttachment(OutlookMessageParser.java:676) ~[outlook-message-parser-1.9.6.jar:na]
at org.simplejavamail.outlookmessageparser.OutlookMessageParser.checkDirectoryEntry(OutlookMessageParser.java:224) ~[outlook-message-parser-1.9.6.jar:na]
at org.simplejavamail.outlookmessageparser.OutlookMessageParser.parseMsg(OutlookMessageParser.java:138) ~[outlook-message-parser-1.9.6.jar:na]
at com.example.demo.DemoApplication.doSomethingAfterStartup(DemoApplication.java:23) ~[main/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.springframework.context.event.ApplicationListenerMethodAdapter.doInvoke(ApplicationListenerMethodAdapter.java:344) ~[spring-context-5.3.18.jar:5.3.18]
... 17 common frames omitted
Caused by: java.lang.ClassNotFoundException: jakarta.activation.MimetypesFileTypeMap
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na]
... 29 common frames omitted
I tried parsing a .msg file with a pdf attachment and when I tried to run the code it threw a ClassNotFoundExpection.
My build.gradle looks like the following:
The code I was using:
The error that showed up:
Attached an email with an attached pdf file. attachment_pdf.zip