PQ99382: JSPBATCHCOMPILER FAILS TO COMPILE CLASSES IN THE <WAS_HOME>/LIB/APP DIRECTORY.

APAR status
Closed as program error.

Error description
JSPBatchCompiler fails to compile classes in the
<WAS_HOME>/lib/app directory. Classes in the <WAS_HOME>/lib/ext
directory compile properly.

According to the customer, "The first error is saying that
org.apache.log4j.* package doesn't exist. We have this JAR
WebSphere\AppServer\lib\app folder of the application server. It
seems like the jspbatchcompiler.bat is not seeing these
libraries."

D:/WebSphere/AppServer/temp/ciitd082/NavAppServer/CTSS_INFRASTRU
CTURE/CO NWAY_NAVIGATOR_WEB.war/_LoggerTest_jsp_0.java:18:
package org.apache.log4j does not exist import
D:/WebSphere/AppServer/temp/ciitd082/NavAppServer/CTSS_INFRASTRU
CTURE/CO NWAY_NAVIGATOR_WEB.war/_LoggerTest_jsp_0.java:90:
cannot resolve symbol symbol : class Logger location:  class
_LoggerTest_jsp_0

A browser hit compiles the LoggerTest.jsp successfully.
The problem is that the jspbatchcompiler.bat file is not
assembling the classpath correctly; specifically, the \lib\app
is not included, JDBC driver files are not included, and the JVM
classpath is not included.  There might be other exclusions;
therefore, check \lib\ext and \lib.

The command string used to invoke the JSPBatchCompiler is:

D:\WebSphere\AppServer\bin\JSPBatchCompiler.bat -enterpriseApp
CTSS_INFRASTRUCTURE -webModule CONWAY_NAVIGATOR_WEB.war
-deprecation true -keepgenerated true > jspbatchcompiler.out
2>&1

The JSPBatchCompiler seems to have problems viewing information
in shared classpaths.  It cannot connect to the
WebSphere/AppServer/lib/app directory.  Also, it does not
connect to the MQ JARs located in the JVM classpath or to
the JDBCDriver.jar or oracledriver.jar that are created when the
JDBC driver is created.

This problem is similar to the problem fixed by 
PQ85052, which
is a fix for WebSphere V5.  A similar fix cannot be located
for WebSphere V4.0.7.
Local fix
Meanwhile as a workaround adding the lib/app to the extension
directory in the JspCompilerBatch file will let those jars be
picked up during batcj compilation.

The workaround is as follows: Please change the
following information in your JSPBatchCompiler.bat file.
Add the lib\app directory to your extensions directory in the
JSPBatchCompiler file.  Change the following line,
-Dws.ext.dirs=%WAS_EXT_DIRS%, to
-Dws.ext.dirs=%WAS_EXT_DIRS%;%WAS_HOME%\lib\app.
Problem summary
****************************************************************
* USERS AFFECTED: Users who batch compile JSPs which           *
*                 have a dependency on classes located         *
*                 inside the lib/app directory.                *
****************************************************************
* PROBLEM DESCRIPTION: When a JSP depends on classes located   *
*                      inside the lib/app directory, the       *
*                      batch compiler will fail to pick them   *
*                      up.  On the other hand the runtime      *
*                      compiler is successful in loadig        *
*                      these classes.                          *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
The JSP batch compiler fails to pick up classes inside the
lib/app directory; however, the runtime compiler does pick up
the classes.
Problem conclusion
The JSP batch compiler is not synchronized with the runtime
compiler when the lib/app directory is added to the classpath.

The fix for this APAR is available in Interim Fix PQ99382.
Temporary fix Comments
APAR information
APAR number PQ99382
Reported component name WEBSPHERE AE NT
Reported component ID 5630A2201
Reported release 400
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Submitted date 2005-01-12
Closed date 2005-03-10
Last modified date 2005-03-22

APAR is sysrouted FROM one or more of the following:

APAR is sysrouted TO one or more of the following:

Modules/Macros
JSPBATCH          

Fix information

Applicable component levels
R400 PSY    UP


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > General
Operating system(s):
Software version: 400
Software edition:
Reference #: PQ99382
IBM Group: Software Group
Modified date: Mar 22, 2005