2012-07-02 46 views
3

我们的项目在Jetty服务器中并且完全工作,然后该项目部署在Jboss 7服务器中,但有一些错误。在Jboss 7中部署时间错误(java.lang.NoClassDefFoundError:com/sun/net/ssl/internal/ssl/Provider)

我发动战争文件,复制并在电子商务过去:\ jboss-as-7.1.1.Final \独立\部署文件夹,并自动部署变得开始,让这个错误:

nested exception is java.lang.NoClassDefFoundError: com/sun/net/ssl/internal/ssl/Provider 

我尝试在编辑jboss_home/modules/sun/jdk/main/module.xml中添加路径并添加路径com/sun/net/ssl/internal,但错误不会删除

那么如何删除此错误?

详细错误:

13:33:03,769 ERROR [org.springframework.web.context.ContextLoader] (MSC service thread 1-1) 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: com/sun/net/ssl/internal/ssl/Provider 
     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: com/sun/net/ssl/internal/ssl/Provider 
     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: com.sun.net.ssl.internal.ssl.Provider from [Module "deployment.mwp.war:main" from Service Module Loader] 
     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 

13:33:03,856 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/mwp]] (MSC service thread 1-1) Exception sending context initialize 
d event to listener instance of class org.springframework.web.context.ContextLoaderListener: org.springframework.beans.factory.BeanCreationException: Error 
creating bean with name 'log4jInitialization' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nest 
ed exception is java.lang.NoClassDefFoundError: com/sun/net/ssl/internal/ssl/Provider 
     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: com/sun/net/ssl/internal/ssl/Provider 
     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: com.sun.net.ssl.internal.ssl.Provider from [Module "deployment.mwp.war:main" from Service Module Loader] 
     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 

13:33:04,076 ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-1) Error listenerStart 
13:33:04,078 ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-1) Context [/mwp] startup failed due to previous errors 
13:33:04,094 INFO [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/mwp]] (MSC service thread 1-1) Closing Spring root WebApplicationCo 
ntext 
13:33:04,107 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC00001: Failed to start service jboss.web.deployment.default-host./mwp: org.jbos 
s.msc.service.StartException in service jboss.web.deployment.default-host./mwp: JBAS018040: Failed to start context 
     at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:95) 
     at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
     at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
     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] 

回答

2

的Jboss 7个查找在模块文件夹的依赖关系。你不能只进入modules.xml文件并添加新的模块,如果它们不存在的话。

你需要做的是找出是否有一个jar包含缺少的类,如果它存在,那么你需要从你的项目添加对该模块的引用,如果不存在,你需要手动下载它并将其复制到模块目录然后引用它。

您有几种方法,你可以参考它:

  1. 类路径条目添加到您的清单文件:Classpath: com.sun.net
  2. 通过添加Global module添加一个全球参考您的standalone.xml该模块。

欲了解更多详情,请看here

+0

看到Ø您的清单文件:,, Manifest-Version:1.0 创建者:1.7.0_01(Oracle Corporation) 类路径:com.sun.net并得到相同的错误,所以得到其他想法,以消除此错误..... – kamlesh0606

+0

是在modules/com/sun/net/main下有一个包含缺少类的jar? – Tomer

+0

modules/com/sun/net/main路径在我们的系统中完成,那么将会做什么?我们的系统具有modules/com/sun并结束它。所以,我是否可以用其他方式来放这个罐子? - 谢谢,kamlesh – kamlesh0606

1

我所看到的问题是java.lang.NoClassDefFoundError: com/sun/net/ssl/internal/ssl/Provider 你需要在你的web应用程序的清单文件中添加依赖关系,我的建议是,阅读本手册第一

To import it using jboss-deployment-structure.xml: 

<dependencies> 

    <module name="system" > 

    <imports> 

     <include-set> 

      <path name="com/sun/ssl/internal/ssl"/> 

     </include-set> 

     </imports> 

    </module> 

</dependencies> 
该节

请参阅下面的链接。

https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7

+0

I尝试但得到错误:14:07:15,899错误[org.jboss.msc.service.fail](MSC服务线程1-4)MSC00001:无法启动服务jboss.deployment.unit。“mwp.war”.STRUCTURE :服务jboss.deployment.unit中的org.jboss.msc.service.StartException。“mwp.war”.STRUCTURE:未能处理阶段结构“mwp.war”部署结构 – kamlesh0606

+0

依赖于什么?这是一个标准的JDK类。 – EJP

+0

但得到这个错误,所以会做什么? – kamlesh0606

1

那类,因为1.4已经提供了所有的甲骨文/ Sun的JDK,即8-9年。

或者:

  1. 您正在使用非Sun/Oracle的JDK
  2. 您正在使用的类名com.sun.net.ssl.internal.ssl。供应商在你的代码或配置文件(S),或
  3. 你有什么严重的错误Java安装
+0

这个项目在spring项目中完全运行在jetty服务器上,然后这个运行在jboss中作为7服务器然后得到这个错误。所以帮助,如何消除JBoss 7中的错误? – kamlesh0606

1

我只是在JBoss中7.1.1Final面临这个问题。我得到它X509TrustManager.java从com.sun.net.ssl从包里面的rt.jar JDK 7

我解决它由下加入

<module xmlns="urn:jboss:module:1.1" name="sun.jdk"> 
<resources> 
    <!-- currently jboss modules has not way of importing services from 
    classes.jar so we duplicate them here --> 
    <resource-root path="service-loader-resources"/> 
</resources> 
<dependencies> 
    <system export="true"> 
     <paths> 
      ... 
     <path name="com/sun/net/ssl"/> 
      ... 
     </paths> 
     <exports> 
      <include-set> 
       <path name="META-INF/services"/> 
      </include-set> 
     </exports> 
    </system> 
</dependencies> 

在module.xml模块/ JBoss的太阳7.

希望这将帮助任何人:)

0

1.Open模块定义为sun.jdk模块。对于最新的EAP,路径是:JBOSS_HOME \模块\ SYSTEM \层\基\太阳\ JDK \主\ module.xml

添加以下到路径部分:

<path name="com/sun/ssl/internal/ssl"/> 
<path name="com/sun/net/ssl"/> 

2.添加以下到jboss-部署-structure.xml您的WEB-INF文件夹内

<dependencies> 
    <module name="sun.jdk"/> 
</dependencies> 
0

添加下面的代码到文件=> WEB_INF/JBoss的部署,structure.xml

<jboss-deployment-structure> 
    <deployment> 
     <dependencies> 
      <module name="org.jboss.logmanager" /> 
      <system export="true"> 
       <paths> 
        <path name="com/sun/net/ssl/internal/ssl"/> 
        </paths> 
      </system> 
     </dependencies> 
    </deployment> 
</jboss-deployment-structure>