Wildfly 10.1.0 ClassNotFoundException: javax.mail.Authenticator

При создании экземпляра org.apache.commons.mail.MultiPartEmail возникает следующая проблема:

java.lang.NoClassDefFoundError: javax/mail/Authenticator
    at mypackage.MyClass.sendMail(MyClass.java:123)
...
Caused by: java.lang.ClassNotFoundException: javax.mail.Authenticator from [Module "org.apache.commons:main" from local module loader @5a4041cc (finder: local module finder @15b3e5b (roots: C:\wildfly-10.1.0.Final\modules,C:\wildfly-10.1.0.Final\modules\system\layers\base))]

pom.xml содержит:

<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-email</artifactId>
  <version>1.3.3</version>
  <scope>provided</scope>
</dependency>

wildfly-10.1.0.Final\modules\org\apache\commons\main\commons-email-1.3.3.jar\org\apache\commons\mail\MultiPartEmail.class существует, а jboss-deployment-structure.xml содержит:

<module name="org.apache.commons" />
<system export="true">
  <paths>
    <path name="javax/api"/>
    <path name="javax/activation/api"/>
    <path name="javax/mail/api"/>
  </paths>
</system>

person Egil Saga    schedule 13.09.2016    source источник
comment
Какая версия Wildfly? Может быть, это помогает? stackoverflow.com/questions/31650024 /   -  person ozOli    schedule 14.09.2016
comment
Вам вообще не нужно включать эти пути в jboss-deployment-structure.xml. Кроме того, модуль javax.activation.api уже должен быть включен как зависимость от вашего развертывания с модулем javaee.api. Есть ли у вас какие-либо исключения модулей в вашем jboss-deployment-structure.xml?   -  person James R. Perkins    schedule 14.09.2016
comment
@jamesr использую Wildfly 10.1.0. В jboss-deployment-structure.xml нет исключений модулей. Спасибо за ответ после прочтения, я снова изучил [Неявные зависимости модуля для развертывания] (docs.jboss.org/author/display/WFLY10/) и modules\system\layers\base\javax\api\main\module.xml и поняли, почему нет необходимости включать эти пути javax/* в jboss-deployment-structure.xml.   -  person Egil Saga    schedule 16.09.2016
comment
@JamesR.Perkins Wildfly-10.1.0.Final\modules\org\apache\commons\main\module.xml был создан давно и не подозревался, но в нем отсутствовали javax.activation.api и javax.mail .api-зависимости.   -  person Egil Saga    schedule 16.09.2016


Ответы (1)


Удалите <scope>provided</scope>.

person RITZ XAVI    schedule 13.09.2016
comment
Без <scope>provided</scope> возникает та же проблема. - person Egil Saga; 14.09.2016
comment
Извините, я не заметил, что зависимость commons-email встречалась 2 раза в pom.xml. Удаление <scope>provided</scope> решило проблему. Wildfly-10.1.0.Final\modules\org\apache\commons\main\module.xml был создан давно и не подозревался, но в нем отсутствовали зависимости javax.activation.api и javax.mail.api. - person Egil Saga; 16.09.2016