java - Tomcat 8.5.15 无法找到 jcifs.jar

标签 java tomcat tomcat7 tomcat8 jcifs

最近我们从 apache-tomcat-7.0.76-x64 升级到 apache-tomcat-8.5.15-x64 安装是windows上的标准安装 我们放入库中的额外 jar 是:

  1. axis.jar -- Apache 可扩展交互系统,基于 XML 的 Web 服务框架
  2. commons-logging-api-1.1.1.jar -- 用于日志记录
  3. jtds-1.2.2.jar -- Microsoft SQL Server 的 JDBC 3.0 驱动程序
  4. ojdbc6.jar -- 驱动程序 Oracle 数据库
  5. xercesImpl.jar -- 用于 xml 解析
  6. xml-apis.jar -- 用于 xml 解析

下面是我启动tomcat时看到的错误

19-Jul-2017 19:23:22.146 WARNING [localhost-startStop-1] org.apache.tomcat.util.scan.StandardJarScanner.scan Failed to scan [file:/D:/Compass8.8/apache-tomcat-8.5.15-x64-Compass881-18080/lib/jcifs.jar] from classloader hierarchy
 java.io.FileNotFoundException: D:\Compass8.8\apache-tomcat-8.5.15-x64-Compass881-18080\lib\jcifs.jar (The system cannot find the file specified)
    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.scan.JarFileUrlJar.<init>(JarFileUrlJar.java:60)
    at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:49)
    at org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:338)
    at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:288)
    at org.apache.jasper.servlet.TldScanner.scanJars(TldScanner.java:262)
    at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:104)
    at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:101)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5196)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1107)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1841)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

当我检查时,我没有在 tomcat 安装目录中找到任何关于 jcifs 的引用。

最佳答案

你的问题是jtds。如果查看 jtds jar 内的 manifest.mf 文件,您会发现它正在其类路径中寻找 jcifs.jar。

如果您不打算使用命名管道连接到 SQL Server,那么您的类路径中不需要 jcifs.jar。

Tomcat 的修复如下:

错误来自 Tomcat 尝试扫描 jcifs.jar 以查找 TLD。解决方案是在 catalina.properties 中的 tomcat.util.scan.StandardJarScanFilter.jarsToSkip 属性中添加 jcifs.jar。

关于java - Tomcat 8.5.15 无法找到 jcifs.jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45206308/

相关文章:

java - 代码在命令提示符中运行但不在 Eclipse 中运行

java - 在 Java 中使用 == 比较 float 有什么问题?

tomcat - 无法在tomcat上使用ActiveMQ消息

Eclipse Kepler Tomcat 7 中的 MySQL jdbc 连接

java - jdk 1.8 接口(interface)中定义的静态方法?他们为什么需要这样做?

java - 在mockito中检索模拟对象名称

tomcat - 有没有办法在 J2EE 服务器启动时做一些事情?我正在使用汤姆猫

java - 我们在 Controller 类中所做的更改有多少会在不重新部署的情况下得到动态反射(reflect)?

jsf - 如果文件在整页刷新 (FPR) 后未呈现,我如何有条件地在 h :head, 中呈现 .js 文件?

spring - Tomcat 7 Spring 应用程序 IntelliJ IDEA 10.5 OutOfMemoryError : PermGen space