IBM Support

java.io.FileNotFoundException thrown by Apache Tomcat application server with IBM Data Server Driver for JDBC and SQLJ

Troubleshooting


Problem

An Apache Tomcat 8.0.38 or later application server cannot start when it is used with the IBM Data Server Driver for JDBC and SQLJ. Startup fails with a java.io.FileNotFoundException for pdq.jar.

Cause

Apache Tomcat contains a component named the JAR scanner, which can scan a full web application CLASSPATH, and identify missing JAR files. Before Apache Tomcat 8.0.38, the default behaviour was that scanning for missing JAR files was disabled. Starting with Apache Tomcat 8.0.38, the default behaviour is that scanning for missing JAR files is enabled.

Beginning with version 4.16 of the IBM Data Server Driver for JDBC and SQLJ, which is shipped with Db2 10.5 on Linux, UNIX, or Windows operating systems, the MANIFEST.MF file for db2jcc4.jar contains a reference to pdq.jar. When Apache Tomcat scans for missing JAR files, it flags pdq.jar, even though you might not use it. pdq.jar is used only by Optim Development Studio.

Resolving The Problem

To prevent the java.io.FileNotFoundException, you can take one of the following actions:

  • Edit the MANIFEST.MF file, and remove this line: Class-Path: pdq.jar
  • Edit the context.xml file for Adobe Tomcat, and add an entry like the following one to set the value of scanClassPath to false: <JarScanner scanClassPath="false" />

[{"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"--","Platform":[{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"10.5;11.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
16 June 2018

UID

swg22016139