java - 无法初始化类 com.amazonaws.partitions.PartitionsLoader

标签 java eclipse macos tomcat aws-java-sdk

使用 Eclipse Mars。我已经通过帮助中的安装软件添加了 aws java sdk 1.11.123。现在,当我运行 Tomcat Server 7 时,出现此错误:

2017 年 5 月 2 日下午 11:57:32 org.apache.catalina.core.StandardWrapperValve 调用 SEVERE:Servlet.service() for servlet [PdsServlet] 在路径 [/PdsAWS] 的上下文中抛出异常 [java .lang.NoClassDefFoundError:无法初始化类 com.amazonaws.partitions.PartitionsLoader] 根本原因 java.lang.NoClassDefFoundError:无法初始化类 com.amazonaws.partitions.PartitionsLoader

我也明白了

java.lang.NoSuchFieldError: ALLOW_FINAL_FIELDS_AS_MUTATORS

但是当我检查库时,我可以看到 PartitionsLoader。如何解决这个问题?

enter image description here

更多似乎相关的错误:

May 03, 2017 9:39:04 AM com.sun.jersey.spi.container.ContainerResponse mapMappableContainerException
SEVERE: The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container
java.lang.NoClassDefFoundError: Could not initialize class com.amazonaws.partitions.PartitionsLoader
    at com.amazonaws.regions.RegionMetadataFactory.create(RegionMetadataFactory.java:30)
    at com.amazonaws.regions.RegionUtils.initialize(RegionUtils.java:64)
    at com.amazonaws.regions.RegionUtils.getRegionMetadata(RegionUtils.java:52)
    at com.amazonaws.regions.RegionUtils.getRegion(RegionUtils.java:105)
    at com.amazonaws.services.s3.AmazonS3Client.createSigner(AmazonS3Client.java:3428)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4156)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4116)
    at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1700)
    at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1563)
    at com.tradingtechnologies.pdsawssql.aws.s3.S3HealthCheck.put(S3HealthCheck.java:83)
    at com.tradingtechnologies.pdsawssql.aws.s3.S3HealthCheck.put(S3HealthCheck.java:56)
    at com.tradingtechnologies.pdsawssql.aws.s3.S3HealthCheck.execute(S3HealthCheck.java:116)
    at com.tradingtechnologies.pdsawssql.sql.ext.HealthCheck.execute(HealthCheck.java:54)
    at com.tradingtechnologies.pdsservlet.HealthServlet.doGet(HealthServlet.java:31)
    at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
    at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
    at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
    at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
    at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
    at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
    at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at com.tradingtechnologies.pdsservercommon.filters.HttpHeaderFilter.doFilter(HttpHeaderFilter.java:24)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)

最佳答案

java.lang.NoSuchFieldError: ALLOW_FINAL_FIELDS_AS_MUTATORS

这听起来就像是从某处挑选旧版本的 Jackson。 PartitionsLoader 在初始化静态成员字段时引用 MapperFeature.ALLOW_FINAL_FIELDS_AS_MUTATORS。如果您在运行时选择的 MapperFeature 版本没有此字段,则由此产生的异常将导致 PartitionsLoader 的类初始化过程失败。随后尝试引用该类将引发您所看到的异常。

ALLOW_FINAL_FIELDS_AS_MUTATORS 是在 2.2 版本中添加的。您选择哪个版本?

关于java - 无法初始化类 com.amazonaws.partitions.PartitionsLoader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43744904/

相关文章:

java - 每个集群一个套接字连接

c# - 什么类似于 c# 中的向左旋转?

java - 哪种做法更好(多次从另一个方法调用方法或自己做同样的事情)

php - Eclipse PHP项目在线问题

Eclipse清理-什么是 ".index"文件-我可以安全地删除它们吗?

c - 为什么 Swift 在这个图像处理测试中比 C 慢 100 倍?

c++ - 用 C/C++ 包装 Mac OS X 特定代码的宏

java - 使用 ObjectInputStream.available() 等同于 Scanner.hasNext()

eclipse - 如何解决 EGit 中的冲突

java - tomcat启动失败