如何解决javax.servlet.ServletException:java.lang.NoSuchMethodError:com.google.inject.internal.Errors.checkNotNull
我正在使用 xades4j 并在运行时出现以下错误。我把代码、我的 .jar 库的图像和错误放在下面,如果有人能帮助我,我将不胜感激。
private static Document signBes(Document doc) throws Exception {
Element elem = doc.getDocumentElement();
DOMHelper.useIdAsXmlId(elem);
KeyingDataProvider kdp = new FileSystemKeyStoreKeyingDataProvider(
"pkcs12","C:/***/******.pfx",new FirstCertificateSelector(),new DirectPasswordProvider("****"),true);
DataObjectDesc obj = new DataObjectReference("#" + elem.getAttribute("Id"))
.withTransform(new EnvelopedSignatureTransform());
SignedDataObjects dataObjs = new SignedDataObjects().withSignedDataObject(obj);
XadesBesSigningProfile signingProfile = new XadesBesSigningProfile(kdp);
//Here it throws the error -> XadesSigner signer = signingProfile.newSigner();
signer.sign(dataObjs,elem);
return doc;
}
错误:
java.lang.NoSuchMethodError: com.google.inject.internal.Errors.checkNotNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; 在 com.google.inject.internal.RealMultibinder.(RealMultibinder.java:88) 在 com.google.inject.internal.RealMultibinder.newRealSetBinder(RealMultibinder.java:56) 在 com.google.inject.multibindings.Multibinder.newSetBinder(Multibinder.java:136) 在 com.google.inject.multibindings.Multibinder.newSetBinder(Multibinder.java:99) 在 xades4j.production.DefaultProductionBindingsModule.configure(DefaultProductionBindingsModule.java:96) 在 com.google.inject.AbstractModule.configure(AbstractModule.java:59) 在 com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223) 在 com.google.inject.spi.Elements.getElements(Elements.java:101) 在 com.google.inject.spi.Elements.getElements(Elements.java:92) 在 com.google.inject.util.Modules$RealoverriddenModuleBuilder$1.configure(Modules.java:152) 在 com.google.inject.AbstractModule.configure(AbstractModule.java:59) 在 com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223) 在 com.google.inject.spi.Elements.getElements(Elements.java:101) 在 com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133) 在 com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103) 在 com.google.inject.Guice.createInjector(Guice.java:95) 在 com.google.inject.Guice.createInjector(Guice.java:72) 在 com.google.inject.Guice.createInjector(Guice.java:62) 在 xades4j.utils.XadesProfileCore.getInstance(XadesProfileCore.java:219) 在 xades4j.production.XadesSigningProfile.newSigner(XadesSigningProfile.java:113) 在 ccalgir.webservice.wsticketbai.ticketBAI.signBes(ticketBAI.java:959) 在 ccalgir.webservice.wsticketbai.ticketBAI.generateTicketBAI(ticketBAI.java:862) 在 ccalgir.webservice.wsticketbai.ticketBAI.doGet(ticketBAI.java:212) 在 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) 在 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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。