tomcat - 在 spring boot 嵌入的 tomcat 中禁用 Jar Scan 的 scanManifest

标签 tomcat spring-boot

我在日志中收到一些警告,如下所示:

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 :

<Context>
  ...
  <JarScanner scanManifest="false"/>
  ...
</Context>

如何使用 Spring Boot 在 java 配置类中禁用 list 文件 ( https://tomcat.apache.org/tomcat-8.0-doc/config/jar-scanner.html) 的 JarScanner。

最佳答案

现在可以通过属性控制:

# Comma-separated list of additional patterns that match jars to ignore for TLD scanning.    
server.tomcat.additional-tld-skip-patterns=*.jar

通过AFTER upgrade from Spring boot 1.2 to 1.5.2, FileNotFoundException during Tomcat 8.5 Startup

关于tomcat - 在 spring boot 嵌入的 tomcat 中禁用 Jar Scan 的 scanManifest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43370840/

相关文章:

java - 在 tomcat 5 上部署 war 提示文件是目录

spring-boot - 将 Camel Spring XML 迁移到 Spring Boot

java - 无法在 IntelliJ Idea 中启动 spring-boot 应用程序

java - 捕获 AuthenticationProvider 中抛出的异常

linux - Tomcat 未启动 : Permission denied

java - HTTP 状态 500 - 实例化 servlet 类 com.sar.pkg.MyServlet 时出错

apache - 启用 SSL 后 Tomcat 服务未启动 - https

java - 关闭H2的正确方法是什么?

Java -Spring Boot - OAuth 2.0配置实现Google账户登录

java - transactionAdviser 中的 NullPointerException(Spring boot 应用程序)