Jdeveloper -> java.lang.NoSuchMethodError: org.apache.xml.security.signature.XMLSignature

问题描述

我使用 @lgoncalves github 示例使用 XADES 签署 XML。但是当我运行时,我得到这个错误 (java.lang.NoSuchMethodError: org.apache.xml.security.signature.XMLSignature) full stacktrace 下面,我搜索了我的项目,寻找与 XMLSignature 的不兼容,我找到了另一个类同名“XMLSignature”,所以我在不同的包上有两个同名的类。这可能是问题所在?

正如用户在另一个答案中向我建议的那样,我还尝试了从 1.4.0 到 2.2.1 的所有 xml-sec 版本。

如果有人能帮助我,我会很感激,这个错误对我来说太长了。

错误堆栈跟踪:

javax.servlet.servletexception: java.lang.NoSuchMethodError: org.apache.xml.security.signature.XMLSignature.(Lorg/w3c/dom/Document;Ljava/lang/String;Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;)V 在 weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:394) 在 weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25) 在 weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) 在 oracle.security.jps.ee.http.JpsAbsFilter$3.run(JpsAbsFilter.java:175) 在 java.security.AccessController.doPrivileged(Native Method) 在 oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315) 在 oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:650) 在 oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:112) 在 oracle.security.jps.ee.http.JpsAbsFilter.doFilterInternal(JpsAbsFilter.java:293) 在 oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:150) 在 oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:94) 在 weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) 在 oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:248) 在 weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) 在 oracle.jrf.servlet.ExtensibleGlobalFilter.doFilter(ExtensibleGlobalFilter.java:92) 在 weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) 在 weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:32) 在 weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) 在 weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3797) 在 weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3763) 在 weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:344) 在 weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197) 在 weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203) 在 weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71) 在 weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2451) 在 weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2299) 在 weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2277) 在 weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1720) 在 weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1680) 在 weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272) 在 weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352) 在 weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337) 在 weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57) 在 weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41) 在 weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:655) 在 weblogic.work.ExecuteThread.execute(ExecuteThread.java:420) 在 weblogic.work.ExecuteThread.run(ExecuteThread.java:360) 引起的: java.lang.NoSuchMethodError: org.apache.xml.security.signature.XMLSignature.(Lorg/w3c/dom/Document;Ljava/lang/String;Lorg/w3c/dom/Element;Lorg/w3c/dom/Element;)V 在 ccalgir.webservice.wsticketbai.ticketBAI.signBes(ticketBAI.java:844) 在 ccalgir.webservice.wsticketbai.ticketBAI.generateTicketBAI(ticketBAI.java:730) 在 ccalgir.webservice.wsticketbai.ticketBAI.doGet(ticketBAI.java:82) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:687) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 在 weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:295) 在 weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260) 在 weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137) 在 weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:353) ... 36个

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...