如果我在依赖树中没有看到它,如何从Maven中排除库?



我得到这个错误:org.apache.xerces.jaxp.SAXParserFactoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory在我的项目中使用jar库。我的项目是一个Maven,但库本身可能不是。我已经将它安装到本地Maven存储库中,并将其作为依赖项包含:

<dependency>
<groupId>org.misclient</groupId>
<artifactId>misclient</artifactId>
<version>1.0</version> 
<scope>compile</scope>
</dependency>

Maven依赖树:

[INFO] com.softgile:asan:atlassian-plugin:1.0.1-SNAPSHOT
[INFO] +- com.atlassian.jira:jira-api:jar:8.12.0:provided
[INFO] |  +- com.atlassian.annotations:atlassian-annotations:jar:2.1.0:provided
[INFO] |  |  - com.google.code.findbugs:jsr305:jar:3.0.0:provided
[INFO] |  +- com.atlassian.ofbiz:entityengine-share:jar:1.5.0:provided
[INFO] |  |  - xerces:xercesImpl:jar:2.12.0:provided
[INFO] |  |     - xml-apis:xml-apis:jar:1.4.01:provided
[INFO] |  +- com.atlassian.ofbiz:entityengine:jar:1.5.0:provided
[INFO] |  |  - jta:jta:jar:1.0.1:provided
[INFO] |  +- com.atlassian.collectors:atlassian-collectors-util:jar:1.1:provided
[INFO] |  +- opensymphony:webwork:jar:1.4-atlassian-30:provided
[INFO] |  |  - com.atlassian.html:atlassian-html-encoder:jar:1.4:provided
[INFO] |  +- webwork:pell-multipart-request:jar:1.31.0:provided
[INFO] |  +- com.atlassian.core:atlassian-core:jar:7.0.2:provided
[INFO] |  |  +- dom4j:dom4j:jar:1.6.1-atlassian-2:provided
[INFO] |  |  - com.atlassian.image:atlassian-image-consumer:jar:1.0.1:provided
[INFO] |  +- com.atlassian.core:atlassian-core-user:jar:7.0.2:provided
[INFO] |  +- com.atlassian.core:atlassian-core-thumbnail:jar:7.0.2:provided
[INFO] |  |  +- com.twelvemonkeys.imageio:imageio-jpeg:jar:3.4.1:provided
[INFO] |  |  |  +- com.twelvemonkeys.imageio:imageio-core:jar:3.4.1:provided
[INFO] |  |  |  +- com.twelvemonkeys.imageio:imageio-metadata:jar:3.4.1:provided
[INFO] |  |  |  +- com.twelvemonkeys.common:common-lang:jar:3.4.1:provided
[INFO] |  |  |  +- com.twelvemonkeys.common:common-io:jar:3.4.1:provided
[INFO] |  |  |  - com.twelvemonkeys.common:common-image:jar:3.4.1:provided
[INFO] |  |  - com.twelvemonkeys.imageio:imageio-tiff:jar:3.4.1:provided
[INFO] |  +- com.atlassian.extras:atlassian-extras:jar:3.2:provided
[INFO] |  +- com.atlassian.velocity:atlassian-velocity:jar:1.3:provided
[INFO] |  |  +- opensymphony:oscore:jar:2.2.7:provided
[INFO] |  |  - org.apache.velocity:velocity:jar:1.6.4:provided
[INFO] |  +- osworkflow:osworkflow:jar:2.9.0-atlassian-1:provided
[INFO] |  +- opensymphony:propertyset:jar:1.5:provided
[INFO] |  +- com.atlassian.cache:atlassian-cache-api:jar:4.0.2:provided
[INFO] |  |  +- com.atlassian.instrumentation:atlassian-instrumentation-core:jar:3.0.0:provided
[INFO] |  |  - io.atlassian.util.concurrent:atlassian-util-concurrent:jar:4.0.1:provided
[INFO] |  +- com.atlassian.beehive:beehive-api:jar:4.0.2:provided
[INFO] |  +- com.atlassian.tenancy:atlassian-tenancy-api:jar:3.0.1:provided
[INFO] |  |  - com.atlassian.event:atlassian-event:jar:4.0.0:provided
[INFO] |  +- com.atlassian.upgrade:upgrade-task-framework-api:jar:2.0.2:provided
[INFO] |  +- com.atlassian.crowd:embedded-crowd-api:jar:4.0.2:provided
[INFO] |  +- com.google.guava:guava:jar:26.0-jre:provided
[INFO] |  |  +- org.checkerframework:checker-qual:jar:2.5.2:provided
[INFO] |  |  +- com.google.errorprone:error_prone_annotations:jar:2.1.3:provided
[INFO] |  |  +- com.google.j2objc:j2objc-annotations:jar:1.1:provided
[INFO] |  |  - org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:provided
[INFO] |  +- com.atlassian.fugue:fugue:jar:2.7.0:provided
[INFO] |  +- io.atlassian.fugue:fugue:jar:4.7.2:provided
[INFO] |  +- org.codehaus.jackson:jackson-core-asl:jar:1.9.13-atlassian-4:provided
[INFO] |  +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13-atlassian-4:provided
[INFO] |  +- com.sun.mail:jakarta.mail:jar:1.6.5:provided
[INFO] |  |  - com.sun.activation:jakarta.activation:jar:1.2.1:provided
[INFO] |  +- com.atlassian.mail:atlassian-mail:jar:5.0.3:provided
[INFO] |  |  +- commons-beanutils:commons-beanutils:jar:1.6.1:provided
[INFO] |  |  - commons-digester:commons-digester:jar:1.4.1:provided
[INFO] |  +- oro:oro:jar:2.0.7:provided
[INFO] |  +- com.atlassian.threadlocal:atlassian-threadlocal:jar:1.3:provided
[INFO] |  +- com.atlassian.applinks:applinks-api:jar:8.0.0:provided
[INFO] |  +- com.google.javascript:closure-compiler-unshaded:jar:v20181008:provided
[INFO] |  |  +- com.google.javascript:closure-compiler-externs:jar:v20181008:provided
[INFO] |  |  +- args4j:args4j:jar:2.0.26:provided
[INFO] |  |  +- com.google.protobuf:protobuf-java:jar:3.0.2:provided
[INFO] |  |  - com.google.jsinterop:jsinterop-annotations:jar:1.0.0:provided
[INFO] |  +- com.atlassian.velocity.htmlsafe:velocity-htmlsafe:jar:3.1.0:provided
[INFO] |  +- com.atlassian.plugins:atlassian-plugins-api:jar:5.3.7:provided
[INFO] |  +- com.atlassian.plugins:atlassian-plugins-webfragment:jar:5.0.0:provided
[INFO] |  +- com.atlassian.plugins:atlassian-plugins-webfragment-api:jar:5.0.0:provided
[INFO] |  +- com.atlassian.ozymandias:atlassian-plugin-point-safety:jar:1.0.0:provided
[INFO] |  +- jfree:jfreechart:jar:1.0.13:provided
[INFO] |  +- com.atlassian.plugins:atlassian-plugins-webresource:jar:4.1.3:provided
[INFO] |  |  +- com.atlassian.plugins:atlassian-plugins-webresource-spi:jar:4.1.3:provided
[INFO] |  |  +- com.atlassian.plugins:atlassian-plugins-webresource-api:jar:4.1.3:provided
[INFO] |  |  +- org.tuckey:urlrewritefilter:jar:4.0.4:provided
[INFO] |  |  - com.atlassian.sourcemap:sourcemap:jar:1.7.6:provided
[INFO] |  +- com.atlassian.plugins:atlassian-plugins-webresource-compiler-gcc:jar:4.1.3:provided
[INFO] |  +- jfree:jcommon:jar:1.0.8:provided
[INFO] |  +- com.atlassian.gadgets:atlassian-gadgets-api:jar:5.0.0:provided
[INFO] |  +- com.atlassian.johnson:atlassian-johnson-core:jar:4.0.0:provided
[INFO] |  |  - com.atlassian.plugins:atlassian-plugins-servlet:jar:5.0.0:provided
[INFO] |  +- joda-time:joda-time:jar:2.10.5:provided
[INFO] |  +- commons-lang:commons-lang:jar:2.6:provided
[INFO] |  +- org.apache.commons:commons-lang3:jar:3.8:provided
[INFO] |  +- commons-io:commons-io:jar:2.6:provided
[INFO] |  +- commons-httpclient:commons-httpclient:jar:3.1-atlassian-2:provided
[INFO] |  +- log4j:log4j:jar:1.2.17-atlassian-2:provided
[INFO] |  +- com.atlassian.profiling:atlassian-profiling:jar:3.2.0:provided
[INFO] |  +- com.atlassian.scheduler:atlassian-scheduler-api:jar:3.0.0:provided
[INFO] |  +- com.atlassian.analytics:analytics-api:jar:6.1.6:provided
[INFO] |  +- com.atlassian.application:atlassian-application-api:jar:2.0.0:provided
[INFO] |  +- javax.validation:validation-api:jar:2.0.1.Final:provided
[INFO] |  - com.atlassian:lucene-extras:jar:7.3.1-atlassian-4:provided
[INFO] +- junit:junit:jar:4.10:test
[INFO] |  - org.hamcrest:hamcrest-core:jar:1.1:test
[INFO] +- com.atlassian.plugin:atlassian-spring-scanner-annotation:jar:1.2.13:provided
[INFO] +- javax.inject:javax.inject:jar:1:provided
[INFO] +- com.atlassian.plugins:atlassian-plugins-osgi-testrunner:jar:2.0.1:test
[INFO] +- javax.ws.rs:jsr311-api:jar:1.1.1:provided
[INFO] +- com.google.code.gson:gson:jar:2.2.2-atlassian-1:compile
[INFO] +- org.mockito:mockito-all:jar:1.8.5:test
[INFO] +- javax.servlet:servlet-api:jar:2.4:provided
[INFO] +- javax.xml.bind:jaxb-api:jar:2.3.1:provided
[INFO] |  - javax.activation:javax.activation-api:jar:1.2.0:provided
[INFO] +- com.atlassian.plugins.rest:atlassian-rest-common:jar:1.0.2:provided
[INFO] |  +- com.atlassian.plugins.rest:com.atlassian.jersey-library:pom:1.0.2:provided
[INFO] |  |  +- com.sun.jersey:jersey-server:jar:1.0.3:provided
[INFO] |  |  |  +- com.sun.jersey:jersey-core:jar:1.0.3:provided
[INFO] |  |  |  - asm:asm:jar:3.1:provided
[INFO] |  |  +- com.sun.jersey:jersey-json:jar:1.0.3:provided
[INFO] |  |  |  +- org.codehaus.jettison:jettison:jar:1.0.1:provided
[INFO] |  |  |  - org.codehaus.jackson:jackson-asl:jar:0.9.4:provided
[INFO] |  |  - commons-fileupload:commons-fileupload:jar:1.2.1:provided
[INFO] |  - net.sourceforge.findbugs:jsr305:jar:1.3.2:provided
[INFO] +- com.atlassian.sal:sal-api:jar:3.0.7:provided
[INFO] +- org.apache.wink:wink-client:jar:1.4:test
[INFO] |  +- org.apache.wink:wink-common:jar:1.4:test
[INFO] |  |  +- org.apache.geronimo.specs:geronimo-jaxrs_1.1_spec:jar:1.0:test
[INFO] |  |  - org.apache.geronimo.specs:geronimo-annotation_1.1_spec:jar:1.0:test
[INFO] |  +- com.sun.xml.bind:jaxb-impl:jar:2.2.1.1:provided
[INFO] |  - javax.activation:activation:jar:1.1:test
[INFO] +- org.slf4j:slf4j-api:jar:1.6.6:provided
[INFO] +- org.apache.httpcomponents:httpclient:jar:4.1.1:test
[INFO] |  +- org.apache.httpcomponents:httpcore:jar:4.1:test
[INFO] |  +- commons-logging:commons-logging:jar:1.1.1:test
[INFO] |  - commons-codec:commons-codec:jar:1.4:provided
[INFO] +- com.atlassian.templaterenderer:atlassian-template-renderer-api:jar:2.0.0:provided
[INFO] |  - commons-collections:commons-collections:jar:3.2.1:provided
[INFO] +- org.misclient:misclient:jar:1.0:compile
[INFO] +- com.atlassian.aui:auiplugin:jar:8.0.0:provided
[INFO] +- com.atlassian.upm:licensing-api:jar:2.21.4:provided
[INFO] - com.atlassian.upm:upm-api:jar:2.21:provided

我正在使用的库给出和错误是org.misclient:misclient:jar:1.0:compile


2021-02-01 18:59:05,017+0100 http-nio-8080-exec-12 ERROR seyid.a 1139x8875x1 7rxlsq 5.197.138.80,127.0.0.1 /rest/asanrest/1.0/message/getAdocInfo [c.a.p.r.c.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: Exception from underlying library
ee.cyber.asanimza.toolkit.MisServiceException: Exception from underlying library
at ee.cyber.asanimza.toolkit.SignedContainer.loadFromBytesArray(SignedContainer.java:202)
at com.softgile.misclient.MisServiceMethods.getInfoFromContainer(MisServiceMethods.java:229)
at com.softgile.rest.AsanRest.getAdocInfo(AsanRest.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
... 1 filtered
at java.lang.reflect.Method.invoke(Method.java:498)
... 19 filtered
at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:160)
... 1 filtered
at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:70)
... 32 filtered
at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:55)
... 8 filtered
at com.atlassian.jira.plugin.mobile.web.filter.MobileAppRequestFilter.doFilter(MobileAppRequestFilter.java:59)
... 4 filtered
at com.atlassian.jira.plugin.mobile.login.MobileLoginSuccessFilter.doFilter(MobileLoginSuccessFilter.java:54)
... 3 filtered
at com.atlassian.diagnostics.internal.platform.monitor.http.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:55)
... 8 filtered
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
... 43 filtered
at com.atlassian.ratelimiting.internal.filter.RateLimitFilter.doFilter(RateLimitFilter.java:73)
... 17 filtered
at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
... 1 filtered
at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
... 16 filtered
at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:38)
... 19 filtered
at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
... 5 filtered
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:215)
at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:136)
at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:89)
at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:47)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:206)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:134)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:123)
... 4 filtered
at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:37)
... 8 filtered
at com.atlassian.ratelimiting.internal.filter.RateLimitPreAuthFilter.doFilter(RateLimitPreAuthFilter.java:71)
... 3 filtered
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
... 4 filtered
at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
... 7 filtered
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215)
at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:88)
at net.bull.javamelody.JiraMonitoringFilter.doFilter(JiraMonitoringFilter.java:137)
... 22 filtered
at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
... 25 filtered
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassCastException: org.apache.xerces.jaxp.SAXParserFactoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory
at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)
at ee.sk.digidoc.factory.SAXDigiDocFactory.readSignedDocOfType(SAXDigiDocFactory.java:342)
at ee.sk.digidoc.factory.SAXDigiDocFactory.readSignedDocOfType(SAXDigiDocFactory.java:489)
at ee.cyber.asanimza.toolkit.SignedContainer.loadFromBytesArray(SignedContainer.java:197)
... 287 more

我已经添加了2个排除来摆脱xercesImpl和xml-api:xml-api,

<exclusions>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
</exclusions>

,但仍然得到相同的错误。还有其他与SAXParserFactory相关的东西吗?

有人能帮我解决这个问题吗?

我认为您不应该排除SAXParser并尝试将其包含在您的库中(因为您使用提供的libxerces:xercesImpl:jar:2.12.0:provided)。如果您可以访问它的代码,您可以将SAXParser类包含(组装)到misclient jar中,或者更改xerces的版本。你也可以把所有的库组装在一起misclient + xerces + yourone。

如何强制依赖包含具有特定版本号的工件

<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt</artifactId>
<version>2.7.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

也许你可以通过这个

包含所需的lib

最新更新