昨年、ブログエンジンblog-java2のメール送信機能をSTARTTLSからGmail APIへ移行したのですが、エンバグしていました。
2017-01-20 08:25:19,979 [Thread-6] ERROR net.afnf.blog.common.SmtpManager(176) - mail error
java.lang.NoClassDefFoundError: com/sun/mail/util/MessageRemovedIOException
at net.afnf.blog.common.SmtpManager$SenderThread.run(SmtpManager.java:141)
Caused by: java.lang.ClassNotFoundException: com.sun.mail.util.MessageRemovedIOException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at org.springframework.boot.loader.LaunchedURLClassLoader .loadClass(LaunchedURLClassLoader.java:89)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 common frames omitted
まさかのNoClassDefFoundError。リリース後に送信できることを確認した後で、意味の分からないコミットが・・・
以下の様に差し戻して解決。
diff --git a/pom.xml b/pom.xml
index 735bc9d..ead7d9e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,8 +67,8 @@
<version>2.5</version>
</dependency>
<dependency>
- <groupId>javax.mail</groupId>
- <artifactId>javax.mail-api</artifactId>
+ <groupId>com.sun.mail</groupId>
+ <artifactId>javax.mail</artifactId>
</dependency>
<dependency>
<groupId>com.google.apis</groupId>
全く記憶に無いので、妖精さんの仕業でしょうね。
メール送信周りやロギング周りのJar依存関係はハマりどころですよねぇ。