基于Docker的tomcat webapp仅在MacOS上失败

时间:2017-10-19 01:45:21

标签: java macos tomcat docker

我们已经将我们的webapp停靠。该应用程序在所有平台上都按预期工作 - linux,mac等。

最近它开始在Mac上失败了。由于奇怪的NoClassDefFound / NoSuchMethodError异常,webapp无法启动。

api     | Caused by: java.lang.NoSuchMethodError: org.apache.logging.log4j.ThreadContext.getThreadContextMap()Lorg/apache/logging/log4j/spi/ReadOnlyThreadContextMap;
api     |   at org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createDefaultInjector(ContextDataInjectorFactory.java:83)
api     |   at org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createInjector(ContextDataInjectorFactory.java:67)
api     |   at org.apache.logging.log4j.core.lookup.ContextMapLookup.<init>(ContextMapLookup.java:34)
api     |   at org.apache.logging.log4j.core.lookup.Interpolator.<init>(Interpolator.java:117)
api     |   at org.apache.logging.log4j.core.config.AbstractConfiguration.<init>(AbstractConfiguration.java:125)
api     |   at org.apache.logging.log4j.core.config.NullConfiguration.<init>(NullConfiguration.java:32)
api     |   at org.apache.logging.log4j.core.LoggerContext.<clinit>(LoggerContext.java:77)
api     |   at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.createContext(ClassLoaderContextSelector.java:171)
api     |   at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext(ClassLoaderContextSelector.java:145)
api     |   at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:70)
api     |   at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:57)
api     |   at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:147)
api     |   at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
api     |   at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
api     |   at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:551)

在Centos上启动时,相同的泊坞窗图像完全正常。

我们完全不了解这种行为。任何见解都非常感谢。

Mac上的Docker版本

版本:17.09.0-ce API版本:1.32

Centos上的Docker版本

版本:1.12.6  API版本:1.24

0 个答案:

没有答案