我正在尝试在我的开发环境中启用快速交换部署。我正在使用netbeans 7.4和weblogic 12.1.2
我认为在这个版本的weblogic中应该支持快速交换。在我将weblogic.xml修改为true并将其部署后,我的项目失败并显示以下堆栈跟踪。
org.springframework.web.util.NestedServletException:处理程序处理失败;嵌套异常是java.lang.NoSuchMethodError:org / apache / commons / lang / time / DateUtils.addDays(Ljava / util / Date; I)Ljava / util / Date; 在org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:949) 在org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827) 在org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) 在org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:707) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:820) 在weblogic.servlet.internal.StubSecurityHelper $ ServletServiceAction.run(StubSecurityHelper.java:227) 在weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) 在weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) 在weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) 在org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) 在com.mysite.webstore.filters.SiteMeshFilter $ beaVersion0_74.obtainContent(SiteMeshFilter.java:98) 在com.mysite.webstore.filters.SiteMeshFilter.obtainContent(SiteMeshFilter.java) 在com.mysite.webstore.filters.SiteMeshFilter.beaAccessobtainContent(SiteMeshFilter.java) 在com.mysite.webstore.filters.SiteMeshFilter $ beaVersion0_74.doFilter(SiteMeshFilter.java:56) 在com.mysite.webstore.filters.SiteMeshFilter.doFilter(SiteMeshFilter.java) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) 在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:330) 在org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) 在org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) 在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) 在org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) 在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) 在org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) 在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) 在org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) 在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) 在org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146) 在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) 在org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) 在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) 在org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) 在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) 在org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183) 在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) 在org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) 在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) 在org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) 在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) 在org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:144) 在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) 在org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) 在org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) 在org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) 在org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) 在org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) 在org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) 在com.mysite.web.common.filters.GeneralFilter.doFilterInternal(GeneralFilter.java:41) 在org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 在org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) 在org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) 在weblogic.servlet.utils.FastSwapFilter.doFilter(FastSwapFilter.java:66) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) 在weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext $ ServletInvocationAction.wrapRun(WebAppServletContext.java:3715) at weblogic.servlet.internal.WebAppServletContext $ ServletInvocationAction.run(WebAppServletContext.java:3681) 在weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 在weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) 在weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277) 在weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183) 在weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454) 在weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) 在weblogic.work.ExecuteThread.run(ExecuteThread.java:178) 引起:java.lang.NoSuchMethodError:org / apache / commons / lang / time / DateUtils.addDays(Ljava / util / Date; I)Ljava / util / Date; 在com.mysite.webstore.model.services.CardService.getPendingCardsCount(CardService.java:205) 在com.mysite.webstore.model.services.CardService $$ FastClassByCGLIB $$ 2baa1223.invoke() 在net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 在org.springframework.aop.framework.Cglib2AopProxy $ CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689) 在org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) 在com.googlecode.ehcache.annotations.interceptor.EhCacheInterceptor.invokeCacheable(EhCacheInterceptor.java:142) 在com.googlecode.ehcache.annotations.interceptor.EhCacheInterceptor.invoke(EhCacheInterceptor.java:81) 在org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) 在org.springframework.aop.framework.Cglib2AopProxy $ DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622) 在com.mysite.webstore.model.services.CardService $$ EnhancerByCGLIB $$ ccf60c81.getPendingCardsCount() 在com.mysite.webstore.model.services.myTestService.refreshWebUserSetting(myTestService.java:807) 在com.mysite.webstore.model.services.myTestService $$ FastClassByCGLIB $$ bd0077e3.invoke() 在net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 在org.springframework.aop.framework.Cglib2AopProxy $ DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:618) 在com.mysite.webstore.model.services.myTestService $$ EnhancerByCGLIB $$ 18c3abc1.refreshWebUserSetting() 在com.mysite.webstore.interceptors.MyRequestInterceptor $ beaVersion0_143.header(MyRequestInterceptor.java:216) 在com.mysite.webstore.interceptors.MyRequestInterceptor.header(MyRequestInterceptor.java) 在com.mysite.cms.interceptors.ContentMyRequestInterceptor.postHandle(ContentMyRequestInterceptor.java:50) 在com.mysite.webstore.interceptors.MyRequestInterceptor.beaInvokeSuper(MyRequestInterceptor.java) 在com.mysite.webstore.interceptors.MyRequestInterceptor $ beaVersion0_143.postHandle(MyRequestInterceptor.java:160) 在com.mysite.webstore.interceptors.MyRequestInterceptor.postHandle(MyRequestInterceptor.java) 在org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:911) ... 71更多
在其他页面上,我点击了不同的java.lang.NoSuchMethodErrors。在不使用任何库类的页面上它不会出错,一切正常。我注意到它总是第一次调用我的主项目之外的库中的类。怎么没有看到这些库中的类?我需要爆炸它们吗?如果是这样,怎么样?在试图找到这些信息时谷歌没有帮助。
当我将快速交换变为false时,一切正常。
如何快速交换以使用我的库?我不会修改库。我只是希望我的项目能够看到库类!我不希望切换到使用JRebel或任何第三方工具来帮助重新部署/热部署。