2016-09-13 5 views
0

는 org.apache.commons.mail.MultiPartEmail의 생성 예를 다음과 같은 문제가 occures :제이보스 10.1.0의 ClassNotFoundException : javax.mail.Authenticator

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> 

common \ 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> 
+0

Wildfly의 버전은 무엇입니까? 어쩌면이게 도움이 될까요? http://stackoverflow.com/questions/31650024/wildfly-9-javax-mail-is-not-working – ozOli

+0

jboss-deployment-structure.xml에 이러한 경로를 포함 할 필요는 없습니다. 또한'javax.activation.api' 모듈은 이미'javaee.api' 모듈로 전개에 의존하는 것으로 포함되어야합니다. 'jboss-deployment-structure.xml'에 모듈 제외가 있습니까? –

+0

@jamesr는 Wildfly 10.1.0을 사용하고 있습니다. jboss-deployment-structure.xml에는 모듈 제외가 없습니다. 대답을 읽어 주셔서 감사 드리며, [Implicit module dependencies for deployment] (https://docs.jboss.org/author/display/WFLY10/Implicit+module+dependencies+for+deployments) 및 modules \ system \ layers \ base \ javax \ api \ main \ module.xml에 있으며 javax/* 경로를 jboss-deployment-structure.xml에 포함시킬 필요가없는 이유를 이해했습니다. –

답변

0

<scope>provided</scope>을 제거하십시오.

+0

' 제공된'같은 문제가 발생합니다. –

+0

죄송 합니다만, pomm.xml에 commons-email 의존성이 두 번 발생했음을 알지 못했습니다. ' 제공된'을 제거하면 문제가 해결됩니다. wildfly-10.1.0.Final \ modules \ org \ apache \ commons \ main \ module.xml은 오래 전에 생성되었지만 의심의 여지가 없었지만 javax.activation.api 및 javax.mail.api 종속성이 누락되었습니다. –