如何解决Tomcat错误的类加载器泊坞窗
尝试在docker上运行应用程序时遇到麻烦。我不知道为什么我的应用程序在docker上时使用的是不在jar而不是内部的ZipArchiveOutputStream类。在sheet-formatting.jar内部具有 commons-compress-1.19.jar
在本地运行时进行类加载:
[Loaded hidden.org.apache.openxml4j.opc.internal.PackagePropertiesPart from file:/pentaho-server/tomcat/webapps/pentaho/WEB-INF/lib/sheet-formatting.jar]
[Loaded org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream from file:/pentaho-server/tomcat/webapps/pentaho/WEB-INF/lib/sheet-formatting.jar]
[Loaded hidden.org.apache.openxml4j.exceptions.NotOfficeXmlFileException from file:/pentaho-server/tomcat/webapps/pentaho/WEB-INF/lib/sheet-formatting.jar]
在docker上运行时的类加载:
app | [Loaded hidden.org.apache.poi.openxml4j.opc.internal.PackagePropertiesPart from file:/pentaho/pentaho-server/tomcat/webapps/pentaho/WEB-INF/lib/sheet-formatting.jar]
app | [Loaded org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream from file:/pentaho/pentaho-server/tomcat/webapps/pentaho/WEB-INF/lib/commons-compress-1.4.1.jar]
app | [Loaded hidden.org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException from file:/pentaho/pentaho-server/tomcat/webapps/pentaho/WEB-INF/lib/sheet-formatting.jar]
这会导致错误,因为jar之外的 commons-compress-1.4.1.jar 没有实现InputStreamStatistics类的实现:
Loaded org.slf4j.helpers.FormattingTuple from file:/pentaho/pentaho-server/tomcat/webapps/pentaho/WEB-INF/lib/slf4j-api-1.7.7.jar]
app | 18:49:24,273 ERROR [Patcher] Error while trying to process the excel file: InputStream of class class org.apache.commons.compress.archivers.zip.ZipArchiveInputStream is not implementing InputStreamStatistics.
app | java.lang.IllegalArgumentException: InputStream of class class org.apache.commons.compress.archivers.zip.ZipArchiveInputStream is not implementing InputStreamStatistics.
app | at hidden.org.apache.poi.openxml4j.util.ZipArchiveThresholdInputStream.<init>(ZipArchiveThresholdInputStream.java:65)
app | at hidden.org.apache.poi.openxml4j.opc.internal.ZipHelper.openZipStream(ZipHelper.java:178)
app | at hidden.org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:104)
app | at hidden.org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:307)
app | at hidden.org.apache.poi.ooxml.util.PackageHelper.open(PackageHelper.java:47)
app | at hidden.org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:309)
app | at com.closeupinternational.sheet.formatting.Patcher.patch(Patcher.java:59)
app | at com.closeupinternational.sheet.formatting.Patcher.patch(Patcher.java:53)
app | at SC.eval0(SC.java:1)
在将应用程序放置在容器内的Tomcat服务器上时,是否有人传递了这样的错误?
PS:我不能在外面更换罐子,因为它们被其他组件使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。