Tag: conflicting libraries

石英的图书馆冲突

有一个奇怪的情况。 我在我的企业应用程序中使用Glassfish服务器。 在那个应用程序中,我使用的是JSF,Richfaces,Quartz,Jasper Reports和Commons Email。 当我构建并部署应用程序到我的开发。 计算机,开发和测试服务器,一切正常。 但是,当我使用相同的glassfish将应用程序部署到生产服务器时,我无法运行Quartz调度程序。 它让我觉得公共collections有一些问题。 我知道某处有冲突,但我无法找到。 你能给我一些指点吗? 顺便说一下,我正在使用NetBeans 6.5。 这是日志: [#|2009-02-13T02:00:03.055+0000|WARNING|sun-appserver9.1|javax.enterprise.resource.webcontainer.jsf.lifecycle|_ThreadID=22;_ThreadName=httpSSLWorkerThread-80-4;_RequestID=97d21f45-2489-486c-b8d9-68625776c546;|#{SchedulerController.play}: java.lang.NoSuchMethodError: org.apache.commons.collections.SetUtils.orderedSet(Ljava/util/Set;)Ljava/util/Set; javax.faces.FacesException: #{SchedulerController.play}: java.lang.NoSuchMethodError: org.apache.commons.collections.SetUtils.orderedSet(Ljava/util/Set;)Ljava/util/Set; at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:107) at javax.faces.component.UICommand.broadcast(UICommand.java:383) at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321) at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296) at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253) at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244) at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198) at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178) at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517) […]

如何包含同一依赖项的两个不同版本?

我正在使用Java进行ERP系统的定制。 在我的自定义中,我想使用Apache POI 3.10.1。 因此我整合了jar子poi-3.10.1-20140818.jar和poi-ooxml-3.10.1-20140818.jar。 但是,这些jar包含已经包含在ERP系统核心代码中的几个类,但有差异。 如果核心ERP类覆盖POI类,则自定义会引发运行时exception。 如果POI类覆盖核心类,则核心function可能会发生相同的情况。 处理这样的问题的最佳做法是什么? 我的定制是一个相对孤立的function。