0

我正在尝试使用documents4j 将MS word 转换为PDF。使用java程序,通过cmd编译和运行代码,文件生成没有问题。

但是,当我在 tomcat 上运行相同的文件时,出现以下错误:

java.lang.IllegalAccessError: class org.slf4j.LoggerFactory tried to access private field org.slf4j.impl.StaticLoggerBinder.SINGLETON (org.slf4j.LoggerFactory and org.slf4j.impl.StaticLoggerBinder are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @573c1e91)

所有 jar 文件都具有相同的版本,并且如前所述在 cmd 上编译/运行。

slf4j-api 1.7.28。slf4j-log4j12 1.7.28。slf4j-简单 1.7.28。

File wordFile = new File(FILE_NAME), target = new File(outputFile1);
IConverter converter = LocalConverter.builder().baseFolder(new File(path+"batimp"+slash))
.workerPool(20, 25, 2, TimeUnit.SECONDS)
.processTimeout(5, TimeUnit.SECONDS).build();
Future<Boolean> conversion = converter.convert(wordFile).as(DocumentType.DOCX).to(target).as(DocumentType.PDF)
.schedule();
converter.shutDown();

你能告诉我我错过了什么吗?

4

1 回答 1

0

已放置 slf4j-jdk14-1.7.28.jar 而不是 slf4j-log4j12-1.7.28 解决了问题

于 2020-06-26T21:48:03.563 回答