禁用嵌入 spring boot 的 tomcat 中 Jar Scan 的 scanManifest [英] Disable scanManifest of Jar Scan in tomcat embed in spring boot
本文介绍了禁用嵌入 spring boot 的 tomcat 中 Jar Scan 的 scanManifest的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在日志中收到一些警告,如下所示:
I'm getting some warnings in log, like this:
java.io.FileNotFoundException: C:\Users\user\.m2\repository\com\lowagie\itext\2.0.8\bcmail-jdk14-138.jar (O sistema não pode encontrar o arquivo especificado)
at java.util.zip.ZipFile.open(Native Method) ~[na:1.8.0_121]
at java.util.zip.ZipFile.<init>(ZipFile.java:219) ~[na:1.8.0_121]
at java.util.zip.ZipFile.<init>(ZipFile.java:149) ~[na:1.8.0_121]
at java.util.jar.JarFile.<init>(JarFile.java:166) ~[na:1.8.0_121]
at java.util.jar.JarFile.<init>(JarFile.java:130) ~[na:1.8.0_121]
at org.apache.tomcat.util.scan.JarFileUrlJar.<init>(JarFileUrlJar.java:60) ~[tomcat-embed-core-8.5.6.jar:8.5.6]
at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:48) ~[tomcat-embed-core-8.5.6.jar:8.5.6]
at org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:338) ~[tomcat-embed-core-8.5.6.jar:8.5.6]
at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:288) ~[tomcat-embed-core-8.5.6.jar:8.5.6]
at org.apache.jasper.servlet.TldScanner.scanJars(TldScanner.java:262) [tomcat-embed-jasper-8.5.6.jar:8.5.6]
at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:104) [tomcat-embed-jasper-8.5.6.jar:8.5.6]
at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:101) [tomcat-embed-jasper-8.5.6.jar:8.5.6]
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5178) [tomcat-embed-core-8.5.6.jar:8.5.6]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.5.6.jar:8.5.6]
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1403) [tomcat-embed-core-8.5.6.jar:8.5.6]
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393) [tomcat-embed-core-8.5.6.jar:8.5.6]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_121]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]
在独立的 tomcat 中,我可以使用以下命令创建 context.xml
:
In a standalone tomcat I can create a context.xml
with:
<Context>
...
<JarScanner scanManifest="false"/>
...
</Context>
如何禁用清单文件的 JarScanner (https://tomcat.apache.org/tomcat-8.0-doc/config/jar-scanner.html) 在使用 Spring Boot 的 java 配置类中.
How can I disable the JarScanner for manifest files (https://tomcat.apache.org/tomcat-8.0-doc/config/jar-scanner.html) in a java configuration class using Spring Boot.
推荐答案
现在可以通过属性控制:
This is controllable via a property now:
# Comma-separated list of additional patterns that match jars to ignore for TLD scanning.
server.tomcat.additional-tld-skip-patterns=*.jar
通过 从 Spring boot 1.2 升级到 1.5.2 后,Tomcat 8.5 启动期间出现 FileNotFoundException
这篇关于禁用嵌入 spring boot 的 tomcat 中 Jar Scan 的 scanManifest的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文