2012-07-02 50 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>