Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JBoss7中的部署时间错误(java.lang.NoClassDefFoundError:javax/mail/internet/AddressException)_Java_Spring_Jboss_Jboss7.x - Fatal编程技术网

JBoss7中的部署时间错误(java.lang.NoClassDefFoundError:javax/mail/internet/AddressException)

JBoss7中的部署时间错误(java.lang.NoClassDefFoundError:javax/mail/internet/AddressException),java,spring,jboss,jboss7.x,Java,Spring,Jboss,Jboss7.x,我们的项目是在Jetty服务器上完成的,然后这个项目部署在JBoss7服务器上,但是有一些错误 我在E:\jboss-as-7.1.1.Final\standalone\deployments文件夹和auto deploy中创建war文件并复制和通过,并给出以下错误: java.lang.NoClassDefFoundError: javax/mail/internet/AddressException 但是在\WEB-INF\lib中,我有mail.jar文件 那么如何消除这个错误呢 详细信

我们的项目是在Jetty服务器上完成的,然后这个项目部署在JBoss7服务器上,但是有一些错误

我在
E:\jboss-as-7.1.1.Final\standalone\deployments
文件夹和auto deploy中创建war文件并复制和通过,并给出以下错误:

java.lang.NoClassDefFoundError: javax/mail/internet/AddressException
但是在
\WEB-INF\lib
中,我有mail.jar文件

那么如何消除这个错误呢

详细信息错误:

    15:34:02,245 ERROR [org.springframework.web.context.ContextLoader] (MSC service thread 1-4) Context initialization failed: org.springframework.beans.factor
y.BeanCreationException: Error creating bean with name 'log4jInitialization' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocati
on of init method failed; nested exception is java.lang.NoClassDefFoundError: javax/mail/internet/AddressException
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420) [org.s
pringframework.beans-3.1.0.M1.jar:3.1.0.M1]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) [org.spri
ngframework.beans-3.1.0.M1.jar:3.1.0.M1]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) [org.spring
framework.beans-3.1.0.M1.jar:3.1.0.M1]
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) [org.springframework.beans-3.1.0.M1.jar:
3.1.0.M1]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [org.springframework.
beans-3.1.0.M1.jar:3.1.0.M1]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) [org.springframework.beans-3.1.0.M1.jar:3.
1.0.M1]
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) [org.springframework.beans-3.1.0.M1.jar:3.1.
0.M1]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:563) [org.springfr
amework.beans-3.1.0.M1.jar:3.1.0.M1]
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:900) [org.springf
ramework.context-3.1.0.M1.jar:3.1.0.M1]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:455) [org.springframework.context-3.1.0.M
1.jar:3.1.0.M1]
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:294) [org.springframework.web-3.1.0.M1.jar:3.1.0.M1
]
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:215) [org.springframework.web-3.1.0.M1.jar:3.1.0.M1]
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) [org.springframework.web-3.1.0.M1.jar:3.
1.0.M1]
        at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392) [jbossweb-7.0.13.Final.jar:]
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.13.Final.jar:]
        at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_01]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_01]
        at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_01]
Caused by: java.lang.NoClassDefFoundError: javax/mail/internet/AddressException
        at java.lang.Class.getDeclaredConstructors0(Native Method) [rt.jar:1.7.0_01]
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404) [rt.jar:1.7.0_01]
        at java.lang.Class.getConstructor0(Class.java:2714) [rt.jar:1.7.0_01]
        at java.lang.Class.newInstance0(Class.java:343) [rt.jar:1.7.0_01]
        at java.lang.Class.newInstance(Class.java:325) [rt.jar:1.7.0_01]
        at org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:336) [log4j-1.2.16.jar:]
        at org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:123) [log4j-1.2.16.jar:]
        at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:752) [log4j-1.2.16.jar:]
        at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735) [log4j-1.2.16.jar:]
        at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615) [log4j-1.2.16.jar:]
        at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502) [log4j-1.2.16.jar:]
        at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:547) [log4j-1.2.16.jar:]
        at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:415) [log4j-1.2.16.jar:]
        at org.springframework.util.Log4jConfigurer.initLogging(Log4jConfigurer.java:72) [org.springframework.core-3.1.0.M1.jar:3.1.0.M1]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_01]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_01]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_01]
        at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_01]
        at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:273) [org.springframework.core-3.1.0.M1.jar:3.1.0.M1]
        at org.springframework.beans.factory.config.MethodInvokingFactoryBean.doInvoke(MethodInvokingFactoryBean.java:162) [org.springframework.beans-3.1.0
.M1.jar:3.1.0.M1]
        at org.springframework.beans.factory.config.MethodInvokingFactoryBean.afterPropertiesSet(MethodInvokingFactoryBean.java:152) [org.springframework.b
eans-3.1.0.M1.jar:3.1.0.M1]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1479) [or
g.springframework.beans-3.1.0.M1.jar:3.1.0.M1]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) [org.s
pringframework.beans-3.1.0.M1.jar:3.1.0.M1]
        ... 20 more
Caused by: java.lang.ClassNotFoundException: javax.mail.internet.AddressException from [Module "org.apache.log4j:main" from local module loader @1da817b (r
oots: E:\jboss-as-7.1.1.Final\modules)]
        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
        ... 43 more
所以,请帮助,如何删除此错误

谢谢


kamlesh

JBossAS7带有独立类加载,因此您应该仔细配置项目依赖项。详情如下

在您的例子中,我看到Spring引用了JBossAS提供的Log4j:
模块“org.apache.Log4j:main”
,并尝试将其配置为执行一些不寻常的操作(可能会尝试通过电子邮件进行日志记录)。问题是log4j模块无法访问邮件api,所以它会抱怨

现在您至少有3种解决方案:

  • 让Spring只使用log4j而不尝试配置它。而是在应用服务器级别配置log4j。看见询问Spring专家如何做到这一点:)

  • 将log4j.jar放在您的/WEB-INF/lib中,不要将
    模块“org.apache.log4j”
    公开给您的webapp

  • 向log4j模块公开邮件api,并从应用程序中删除/WEB-INF/lib/mail.jar。您必须编辑
    jboss-as-7.1.1.Final/modules/org/apache/log4j/main/module.xml
    以包含对邮件api的依赖:

    <dependencies>
        <module name="org.dom4j" optional="true"/>
        <module name="javax.api"/>
        <module name="javax.mail.api" export="true"/>
    </dependencies>
    
    
    

  • 我使用了这个想法-3。这个错误和其他错误:10:33:10727错误[org.springframework.web.context.ContextLoader](MSC服务线程1-2)上下文初始化失败:org.springframework.beans.factoy.beancreatitionException:创建名为“log4jInitialization”的bean时出错,该bean在ServletContext资源中定义[/WEB-INF/applicationContext.xml]:init方法的Invocat打开失败;嵌套异常为java.lang.NoClassDefFoundError:com/sun/net/ssl/internal/ssl/Provider,请帮助我……我忘了提到我是通过增加复杂性来订购方法的:)请显示整个堆栈跟踪,如原始问题所示