Hi,

> davmail fails to work correctly with latest java-9-openjdk in Debian
> unstable.
>
> Fetching and sending messages fails with an exception trace:
>
> Exception in thread "ImapConnection-51322" java.lang.NoClassDefFoundError: 
> javax/activation/DataHandler
>         at 
> davmail.exchange.ExchangeSession$Message.loadMimeMessage(ExchangeSession.java:2018)
>         at 
> davmail.exchange.MessageLoadThread.loadMimeMessage(MessageLoadThread.java:52)
>         at 
> davmail.imap.ImapConnection$MessageWrapper.loadMessage(ImapConnection.java:800)
>         at 
> davmail.imap.ImapConnection$MessageWrapper.getMimeMessageSize(ImapConnection.java:786)
>         at davmail.imap.ImapConnection.handleFetch(ImapConnection.java:847)
>         at davmail.imap.ImapConnection.run(ImapConnection.java:399)
> Caused by: java.lang.ClassNotFoundException: javax.activation.DataHandler
>         at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
>         at 
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
>         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
>         ... 6 more

This seems to be a CLASSPATH issue due to the new dependency on
javax.activation of javax.mail.

I do not know enough about java library jar good practices to know if
the classpath should be set in mail.jar or explicitly in davmail.jar
though (as it is not davmail that depends on activation.jar but
mail.jar).

The following patch (or built package at
https://sml.zincube.net/~niol/tmp/davmail_4.8.3.2554-2+test894689+1_amd64.changes
) may fix the problem by adding activation.jar in davmail.jar's
classpath:

--- a/debian/patches/0004-Set-classpath-add-target-davmail-lib.patch
+++ b/debian/patches/0004-Set-classpath-add-target-davmail-lib.patch
@@ -8,9 +8,9 @@ Subject: Set classpath, add target davmail-lib

 Index: davmail.git/build.xml
 ===================================================================
---- davmail.git.orig/build.xml
-+++ davmail.git/build.xml
-@@ -3,13 +3,20 @@
+--- davmail.git.orig/build.xml 2018-04-03 11:30:05.032340443 +0200
++++ davmail.git/build.xml      2018-04-03 11:30:31.336772113 +0200
+@@ -3,13 +3,21 @@
      <property name="version" value="4.8.3"/>

      <path id="classpath">
@@ -27,6 +27,7 @@ Index: davmail.git/build.xml
 +        <pathelement location="${commons-logging}" />
 +        <pathelement location="${htmlcleaner}" />
 +        <pathelement location="${mail}" />
++        <pathelement location="${activation}" />^M
 +        <pathelement location="${jcifs}" />
 +        <pathelement location="${jackrabbit-webdav}" />
 +        <pathelement location="${woodstox-core}" />
@@ -38,7 +39,7 @@ Index: davmail.git/build.xml
      </path>

      <target name="clean">
-@@ -286,28 +293,7 @@
+@@ -286,28 +294,7 @@
          <mkdir dir="dist"/>
          <property name="release-name" value="${release}-trunk"/>
          <pathconvert property="manifest-classpath" pathsep=" ">


Thanks for reporting,

Alex

Reply via email to