2012-10-31 12 views
0

클래스의 javax.sql.DataSource에 대한 로더 제약 조건 위반, 이유는 다음과 같습니다제이 보스 5.1.0 : java.lang.LinkageError :이 오류에 대해 꽤 많이 읽고

  1. 이상의 항아리 포함이 클래스는

하지만 내 경우에는는,이 클래스는 JDK 클래스,

  • 두 번 이상 병을 포함, 클래스 패스에 포함되어 있고, 나는이 클래스 내 응용 프로그램에서 발견 된 어떤 검색 없다.

    실마리가 도움이 될 것입니다.

    예외 스택 :

    2012-10-31 14:09:58,319 WARN [org.jboss.detailed.classloader.ClassLoaderManager] (http-0.0.0.0-8080-1:) Unexpected error during load of:javax.sql.DataSource 
    java.lang.LinkageError: loader constraint violation: loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) previously initiated loading for a different type with name "javax/sql/DataSource" 
         at java.lang.ClassLoader.defineClass1(Native Method) 
         at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) 
         at java.lang.ClassLoader.defineClass(ClassLoader.java:615) 
         at org.jboss.classloader.spi.base.BaseClassLoader.access$200(BaseClassLoader.java:67) 
         at org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:633) 
         at org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:592) 
         at java.security.AccessController.doPrivileged(Native Method) 
         at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:591) 
         at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:568) 
         at org.jboss.classloader.spi.base.BaseDelegateLoader.loadClass(BaseDelegateLoader.java:135) 
         at org.jboss.classloader.spi.filter.FilteredDelegateLoader.loadClass(FilteredDelegateLoader.java:131) 
         at org.jboss.classloader.spi.base.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:455) 
         at org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:267) 
         at org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:166) 
         at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:287) 
         at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1163) 
         at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:862) 
         at org.jboss.classloader.spi.base.BaseClassLoader.doLoadClass(BaseClassLoader.java:502) 
         at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:447) 
         at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
         at com.lombardrisk.webgui.dwr.ajax_search.UmbrellaNettingFundsSearch.getBranchesByAgreementId(UmbrellaNettingFundsSearch.java:199) 
         at com.lombardrisk.webgui.dwr.ajax_search.UmbrellaNettingFundsSearch.buildConditionOfPrinAndCpty(UmbrellaNettingFundsSearch.java:177) 
         at com.lombardrisk.webgui.dwr.ajax_search.UmbrellaNettingFundsSearch.getFunds(UmbrellaNettingFundsSearch.java:58) 
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
         at java.lang.reflect.Method.invoke(Method.java:597) 
         at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34) 
         at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428) 
         at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431) 
         at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283) 
         at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52) 
         at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101) 
         at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146) 
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
         at com.lombardrisk.webgui.filter.ValidRequestFilter.doFilter(ValidRequestFilter.java:41) 
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) 
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183) 
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525) 
         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95) 
         at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) 
         at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) 
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
         at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) 
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
         at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.internalProcess(ActiveRequestResponseCacheValve.java:74) 
         at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:47) 
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) 
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:599) 
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451) 
         at java.lang.Thread.run(Thread.java:662) 
    

    답변

    0

    이 문제는

    이 클래스를 포함하는 또 다른 항아리 (jdbc2_0-stdext.jar이)가 존재 할

    를 해결하고, 우리가 앱 가지고있다.

    stat con = ds.getConnection이 다른 X.jar에서 호출되기 때문에 클래스 B는 OK입니다. 반면 클래스 A는 self Y.war 내부에서 호출되며이 jdbc2_0-stdext.jar은 Y.war의 패키지

    에 있습니다.
    관련 문제