java.io.FileNotFoundException :/tomcat/lib/webservices-api. jar

标签 java tomcat

当我尝试部署我的 war 文件时,我在 catalina.out 中收到错误:

org.apache.tomcat.util.scan.StandardJarScanner.processURLs Failed to scan [file:/tomcat/lib/webservices-api.jar] from classloader hierarchy
     java.io.FileNotFoundException: //tomcat/lib/webservices-api.jar (No such file or directory)
...................
org.apache.tomcat.util.scan.StandardJarScanner.processURLs Failed to scan [file:/tomcat/lib/webservices-api.jar] from classloader hierarchy
     java.io.FileNotFoundException: /tomcat/lib/webservices-rt_l10n.jar (No such file or directory)

但是,我在 lib 文件夹中有 webservices-api.jar:

ls -l/tomcat/lib/:

//some libs
-rw-rw-r--+ 1 root   root   14830691 19  2017 webservices-rt-2.3.jar
-rw-r--r-- 1 tomcat tomcat   201290 апр 19 18:24 webservices-api-2.3.jar

我如何告诉 tomсat 他忽略了版本,并使用了什么? 另外,如何禁用对语言库的搜索?

更新:

堆栈跟踪:

23-Apr-2018 14:16:59.481 WARNING [http-nio-8080-exec-46] org.apache.tomcat.util.scan.StandardJarScanner.processURLs Failed to scan [file:/tomcat/lib/webservices-api.jar] from classloader hierarchy
 java.io.FileNotFoundException: /tomcat/lib/webservices-api.jar (No such file or directory)
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:219)
        at java.util.zip.ZipFile.<init>(ZipFile.java:149)
        at java.util.jar.JarFile.<init>(JarFile.java:166)
        at java.util.jar.JarFile.<init>(JarFile.java:130)
        at org.apache.tomcat.util.compat.JreCompat.jarFileNewInstance(JreCompat.java:170)
        at org.apache.tomcat.util.scan.JarFileUrlJar.<init>(JarFileUrlJar.java:65)

最佳答案

在 Tomcat 8.0.38 及更高版本中,我们有一个名为 scanManifest 的标志,用于扫描 jars 的 MANIFEST.MF 中的其他类路径条目。默认值为真,即扫描 jar 的 list 。 检查在 MANIEST.MF 中是否有任何带有 CLASS-PATH 条目的 jar 引用此 jar 文件。 我遇到了类似的问题

May 07, 2019 11:33:21 AM org.apache.tomcat.util.scan.StandardJarScanner processURLs
WARNING: Failed to scan [file:/C:/apache-tomcat-9.0.8/lib/jaxws-api.jar] from classloader hierarchy
java.io.FileNotFoundException: C:\apache-tomcat-9.0.8\lib\jaxws-api.jar (The system cannot find the file specified)

发现,我的一个 jar 文件 jaxws-rt-2.1.3 将 jaxws-api.jar 作为类路径条目。我的库中有 jaxws-api-2.1.jar,因此 jarscanner 提示找不到文件,因为它试图找到一个没有版本名称的文件。

**在 TOMCAT_HOME/conf 下的 context.xml 中添加以下条目应该可以解决这个问题,因为它会停止解析不存在的 jar 文件 **

<JarScanner scanManifest="false"/>

我们还可以更正 list 文件以包含 jar 版本,然后部署应用程序

关于java.io.FileNotFoundException :/tomcat/lib/webservices-api. jar ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49981770/

相关文章:

java - URL anchor 文本正则表达式提取器

java - 带有 HttpServletResponseWrapper 的 Servlet 过滤器输出空主体 - 使用了错误的对象

java - Tomcat Servlet 和 MySQL

java - Pentaho 7 CE Report Designer 超链接BUG

java - 在 Docker 容器中部署 WAR 文件

java - 使用 Spring 3.0.4 启用 Cors

JAVA 和 JAVAFX 问题 - 尝试将附加 Controller 连接到主 Controller

php - API 服务器框架的选择

file - access to file to files tomcat的conf文件夹下的一个文件

java - Spring Boot JPA - 分页和排序