java.lang.ClassNotFoundException: org.apache.catalina.startu

Issues and Questions related to running Apache Tomcat on z/OS
Post Reply
jseiler
Posts: 3
Joined: Wed Jun 04, 2008 1:45 pm
Location: Freeport Maine

java.lang.ClassNotFoundException: org.apache.catalina.startu

Post by jseiler »

I am trying to start TOMCAT on z/OS for the first time and
I am getting the java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina error.

Here is what I am seeing:
JVMJZBL1001N JZOS batch Launcher Version: 2.0.0 2007-02-12
JVMJZBL1002N Copyright (C) IBM Corp. 2005. All rights reserved.
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build pmz31devifx-20070801 (SR
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 z/OS s390-31 j9vmmz3123ifx-20070627
J9VM - 20070614_12948_bHdSMr
JIT - 20070419_1806_r8
GC - 200704_19)
JVMJZBL1023N Invoking org.apache.catalina.startup.Bootstrap.main()...
JVMJZBL1024N org.apache.catalina.startup.Bootstrap.main() completed.
JVMJZBL1021N JZOS batch launcher completed, return code=0
java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina
at java.net.URLClassLoader.findClass(URLClassLoader.java:493)
at java.lang.ClassLoader.loadClass(ClassLoader.java:607)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:222)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:410)

any help is appreciated. I am guessing a classpath issue but I can't see it.
dovetail
Site Admin
Posts: 2022
Joined: Thu Jul 29, 2004 12:12 pm

Post by dovetail »

Try running with LOGLVL='+D' and post your job log and we'll try to figure out what the classpath problem is.
jseiler
Posts: 3
Joined: Wed Jun 04, 2008 1:45 pm
Location: Freeport Maine

ava.lang.ClassNotFoundException: org.apache.catalina.startup

Post by jseiler »

Here we are. Thanks for your help.


1 J E S 2 J O B L O G -- S Y S T E M S Y S E -- N O D E L L B S Y S E
0
09.47.04 JOB19445 ---- THURSDAY, 05 JUN 2008 ----
09.47.04 JOB19445 IRR010I USERID TSJSS IS ASSIGNED TO THIS JOB.
09.47.04 JOB19445 ICH70001I TSJSS LAST ACCESS AT 16:57:12 ON WEDNESDAY, JUNE 4, 2008
09.47.05 JOB19445 $HASP373 TOMCAT STARTED - INIT 1 - CLASS Y - SYS SYSE
09.47.05 JOB19445 IEF403I TOMCAT - STARTED - TIME=09.47.05
09.48.19 JOB19445 - --TIMINGS (MINS.)-- -----PAGING COUNTS----
09.48.19 JOB19445 -STEPNAME PROCSTEP RC EXCP CONN TCB SRB CLOCK SERV WORKLOAD PAGE SWAP VIO SWAPS
09.48.19 JOB19445 -JAVA JAVAJVM 00 59757 546 .04 .00 1.2 106K PRODBAT 27 0 0 0
09.48.19 JOB19445 IEF404I TOMCAT - ENDED - TIME=09.48.19
09.48.19 JOB19445 -TOMCAT ENDED. NAME-SEILER.26083 TOTAL TCB CPU TIME= .04 TOTAL ELAPSED TIME= 1.2
09.48.19 JOB19445 $HASP395 TOMCAT ENDED
0------ JES2 JOB STATISTICS ------
- 05 JUN 2008 JOB EXECUTION DATE
- 91 CARDS READ
- 281 SYSOUT PRINT RECORDS
- 0 SYSOUT PUNCH RECORDS
- 15 SYSOUT SPOOL KBYTES
- 1.24 MINUTES EXECUTION TIME
1 //TOMCAT JOB (TS,LL),'SEILER.26083',MSGCLASS=X,CLASS=Y,NOTIFY=TSJSS JOB19445
2 //PROCLIB JCLLIB ORDER=SYS2.DVLM.PROCLIB &SYSUID..JZOS.JCL
3 // INCLUDE MEMBER=SYMBOLIC
4 XX SET ADR=ADR1
5 XX SET ADRLIB=DVLM
6 XX SET ADRSAS=DVLM
7 XX SET AFCP=CICS.CAFC.LOADLIB
8 XX SET AOR2=CDA2
9 XX SET CC=UTRUN
10 XX SET CD1LIB=TEST
11 XX SET CDAM=I620
12 XX SET CLOSE=')'
13 XX SET CMSRVR01=DUMMY
14 XX SET CNTLMLIB=DUMMY
15 XX SET CNTLD=7
16 XX SET DB2SSNP=DBD1
17 XX SET DB2SSNQ=DBD1
18 XX SET DB2SSNG=DBDG
19 XX SET DBSFX1=DD
20 XX SET DBSFX2=D2D
21 XX SET DBSFX3=D3D
22 XX SET DVLM=DVLM
23 XX SET E1=1T
24 XX SET E2=2D
25 XX SET E3=2D
26 XX SET E4=3D
27 XX SET EDIVER=V1R5M0
28 XX SET EDWSERV=BCU01
29 XX SET EDWACM=ACM
30 XX SET EDWDSS=DSS
31 XX SET EDWSTAGE=STAGE
32 XX SET ENVIRON=DVLM
33 XX SET EZLIB=TEST
34 XX SET FINALIB=DVLM
35 XX SET FIXLIB=ENDEVOR.UT.LOADLIB
36 XX SET FORTHD=DUMMY
37 XX SET HIPRLIB=HIPER.LOAD
38 XX SET IDLPROC='BATCH'
39 XX SET IMPL='CDI1'
40 XX SET IN0='(0)'
41 XX SET IN1='(-1)'
42 XX SET IN2='(-2)'
43 XX SET ISILIB=PROD
44 XX SET JVPROPS='/LLBean/dev/props'
45 XX SET JVSRC='/LLBean/dev/java'
46 XX SET JVFILEIO='/LLBean/dev/fileio'
47 XX SET JVLOGS='/LLBean/dev/logs'
48 XX SET JVSHARED='/LLBean/dev/shared'
49 XX SET LIB=TEST
50 XX SET LIBBASE1=UT
51 XX SET LIBBASE2=PROD
52 XX SET LIBCC=UTRUN
53 XX SET MDRSYM01=DUMMY
54 XX SET MDRSYM02=DUMMY
55 XX SET NEWD='DUMMY'
56 XX SET OLM1=CDM1
57 XX SET OLM2=CDM1
58 XX SET OLT1=CDT1
59 XX SET OLT2=CDT1
60 XX SET OLT3=CDT1
61 XX SET OLT4=CDT1
62 XX SET OLT5=CDT1
63 XX SET OLT6=CDT1
64 XX SET OLV=X
65 XX SET OPEN='(X,'
66 XX SET OPEN7='(7,'
67 XX SET OPEND='(,'
68 XX SET OUT1='(+1)'
69 XX SET OUT2='(+2)'
70 XX SET PRD2=CDP2
71 XX SET PRDM=CDP1
72 XX SET PRODLIB=ENDEVOR.PROD.LOADLIB
73 XX SET QLIB=DVL
74 XX SET QMLIB=QMD1
75 XX SET RCSRVR01=DUMMY
76 XX SET RCSRVR02=DUMMY
77 XX SET REXXLIB=UTRUN
78 XX SET RPTH=TEST
79 XX SET SASLIB=UTRUN
80 XX SET SERVERID=DUMMY
81 XX SET SHSCRPTS='/LLBean/dev/scripts'
82 XX SET SOUT1='*'
83 XX SET SOUT2=B
84 XX SET TRAX=TRAX.R400.LOADLIB
85 XX SET TRAXQUAL=DVLM
86 XX SET TRNG=DUMMY
87 XX SET VOLSER9=999999
88 XX SET VOLSERX=XXXXXX
89 XX SET ARTSRVR=FPSW-FS
90 XX SET SPPLYID='LLBEAN\FTPSUPPLY'
91 XX SET RETLEID='LLBEAN\FTPRTAIL'
92 XX SET ARTDIR='APPLICATIONS\JDA_DATA\FTP'
//*
//*********************************************************************
//*
//* Batch job to run Tomcat under JZOS
//*
//* Tailor the proc and job for your installation:
//* 1.) Modify the Job card per your installation's requirements
//* 2.) Modify the PROCLIB card to point to JZOS proclib
//* 3.) Set VERSION='14' for Java 1.4 or VERSION='50' for Java 5
//* 4.) Set JAVA_HOME to point the location of the Java SDK
//* 5.) Set CATALINA_HOME to point to the shared Tomcat install dir
//* 6.) (Optional) set CATALINA_BASE to point to instance specific
//* Tomcat base dir
//*
//*********************************************************************
//*
93 //JAVA EXEC PROC=JVMPRC50,VERSION='50',
// LOGLVL='+D',
// JAVACLS='org.apache.catalina.startup.Bootstrap',
// ARGS='start'
XX*********************************************************************
XX*
XX* Stored procedure for executing the JZOS Java Batch Launcher
XX*
XX* Tailor the proc your installation:
XX* 1.) Replace '<HLQ>.JZOS.LOADLIB' with the PDSE that contains the
XX* JVMLDM50 module that was installed during installation
XX* 2.) The STEPLIB is commented out. Unless you are doing an SMP/E
XX* install into the MVS zone on z/OS 1.6 or above, you should
XX* UNCOMMENT the STEPLIB and point to the STEPLIB being used
XX*
XX*********************************************************************
94 XXJVMPRC50 PROC JAVACLS=, < Fully Qfied Java class..RQD
XX ARGS=, < Args to Java class
XX LIBRARY='TSJSS.TEST.JVMLDM50', < STEPLIB FOR JVMLDM module
XX VERSION='50', < JVMLDM version: 50
XX LOGLVL='', < Debug LVL: +I(info) +T(trc)
XX REGSIZE='0M', < EXECUTION REGION SIZE
XX LEPARM=''
95 XXJAVAJVM EXEC PGM=JVMLDM&VERSION,REGION=&REGSIZE,
XX PARM='&LEPARM/&LOGLVL &JAVACLS &ARGS'
IEFC653I SUBSTITUTION JCL - PGM=JVMLDM50,REGION=0M,PARM='/+D org.apache.catalina.startup.Bootstrap start'
96 XXSTEPLIB DD DSN=&LIBRARY,DISP=SHR
IEFC653I SUBSTITUTION JCL - DSN=TSJSS.TEST.JVMLDM50,DISP=SHR
97 XX DD DSN=&DB2SSNP..&ENVIRON..SDSNEXIT,DISP=SHR
IEFC653I SUBSTITUTION JCL - DSN=DBD1.DVLM.SDSNEXIT,DISP=SHR
98 XX DD DSN=&DB2SSNP..&ENVIRON..SDSNLOAD,DISP=SHR
IEFC653I SUBSTITUTION JCL - DSN=DBD1.DVLM.SDSNLOAD,DISP=SHR
99 XX DD DSN=&DB2SSNP..&ENVIRON..SDSNLOD2,DISP=SHR
IEFC653I SUBSTITUTION JCL - DSN=DBD1.DVLM.SDSNLOD2,DISP=SHR
100 XXSYSPRINT DD SYSOUT=* < System stdout
101 XXSYSOUT DD SYSOUT=* < System stderr
102 XXSTDOUT DD SYSOUT=* < Java System.out
103 XXSTDERR DD SYSOUT=* < Java System.err
104 XXCEEDUMP DD SYSOUT=*
105 XXABNLIGNR DD DUMMY
XX*
XX*The following DDs can/should be present in the calling JCL
XX*
XX*STDIN DD < OPTIONAL - Java System.in
XX*STDENV DD < REQUIRED - JVM Environment script
XX*MAINARGS DD < OPTIONAL - Alt. method to supply args
106 //STDENV DD *
107 XX PEND
STMT NO. MESSAGE
3 IEFC002I INCLUDE GROUP SYMBOLIC WAS EXPANDED USING SYSTEM LIBRARY ENDEVOR.UT.PROC.BASE
93 IEFC001I PROCEDURE JVMPRC50 WAS EXPANDED USING PRIVATE LIBRARY SYS2.DVLM.PROCLIB
ICH70001I TSJSS LAST ACCESS AT 16:57:12 ON WEDNESDAY, JUNE 4, 2008
IEF236I ALLOC. FOR TOMCAT JAVAJVM JAVA
IEF237I 6C5D ALLOCATED TO STEPLIB
IEF237I 651E ALLOCATED TO
IEF237I 6661 ALLOCATED TO
IEF237I 695B ALLOCATED TO
IEF237I JES2 ALLOCATED TO SYSPRINT
IEF237I JES2 ALLOCATED TO SYSOUT
IEF237I JES2 ALLOCATED TO STDOUT
IEF237I JES2 ALLOCATED TO STDERR
IEF237I JES2 ALLOCATED TO CEEDUMP
IEF237I DMY ALLOCATED TO ABNLIGNR
IEF237I JES2 ALLOCATED TO STDENV
IEF142I TOMCAT JAVAJVM JAVA - STEP WAS EXECUTED - COND CODE 0000
IEF285I TSJSS.TEST.JVMLDM50 KEPT
IEF285I VOL SER NOS= TS000F.
IEF285I DBD1.DVLM.SDSNEXIT KEPT
IEF285I VOL SER NOS= SYSDBD.
IEF285I DBD1.DVLM.SDSNLOAD KEPT
IEF285I VOL SER NOS= OP1069.
IEF285I DBD1.DVLM.SDSNLOD2 KEPT
IEF285I VOL SER NOS= SYDB1C.
IEF285I TSJSS.TOMCAT.JOB19445.D0000102.? SYSOUT
IEF285I TSJSS.TOMCAT.JOB19445.D0000103.? SYSOUT
IEF285I TSJSS.TOMCAT.JOB19445.D0000104.? SYSOUT
IEF285I TSJSS.TOMCAT.JOB19445.D0000105.? SYSOUT
IEF285I TSJSS.TOMCAT.JOB19445.D0000106.? SYSOUT
IEF285I TSJSS.TOMCAT.JOB19445.D0000101.? SYSIN
IEF373I STEP/JAVAJVM /START 2008157.0947
IEF374I STEP/JAVAJVM /STOP 2008157.0948 CPU 0MIN 02.69SEC SRB 0MIN 00.01SEC VIRT 104K SYS 288K EXT 182012K SYS 127472K
IEF375I JOB/TOMCAT /START 2008157.0947
IEF376I JOB/TOMCAT /STOP 2008157.0948 CPU 0MIN 02.69SEC SRB 0MIN 00.01SEC
JVMJZBL2004N Log level has been set to: D
JVMJZBL1001N JZOS batch Launcher Version: 2.0.0 2007-02-12
JVMJZBL1002N Copyright (C) IBM Corp. 2005. All rights reserved.
JVMJZBL1029I Region requested = 0K, Actual below/above limit = 9M / 1516M
JVMJZBL1036D Spawned child shell process with PID: 131316
JVMJZBL1005I Output from DD:STDENV config shell script:
JVMJZBL1006I _CXX_LIBDIRS = /lib /usr/lib
JVMJZBL1006I MAIL = /usr/mail/IBMUSER
JVMJZBL1006I JAVA_PROPAGATE = NO
JVMJZBL1006I PATH = /bin:/usr/lpp/java/J5.0/bin:/usr/lpp/java/J5.0/bin:/usr/local/db2810/bin:
JVMJZBL1006I _CXX_INCDIRS = /usr/include
JVMJZBL1006I IBM_JAVA_ZOS_TDUMP = NO
JVMJZBL1006I _CC_LIBDIRS = /lib /usr/lib
JVMJZBL1006I IBM_JAVA_OPTIONS = -Xms64m -Xmx128m -Dfile.encoding=ISO8859-1 -Dcatalina.base=/usr/local/tomcat
-Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp -Djava.endorsed.dirs=/usr/local/tomcat/common/
endorsed
JVMJZBL1006I _C89_CLIB_PREFIX = CBC
JVMJZBL1006I X_SITE = TCPIP.HOSTS.SITEINFO
JVMJZBL1006I X_XLATE = MVSNFS.XLATOE
JVMJZBL1006I _CC_INCDIRS = /usr/include
JVMJZBL1006I PS1 = $LOGNAME:$PWD:>
JVMJZBL1006I _BPX_SPAWN_SCRIPT = YES
JVMJZBL1006I _ = /bin/env
JVMJZBL1006I CLASSPATH = /usr/lpp/java/J5.0/lib/tools.jar:/usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin:/usr
/local/tomcat/bin/commons-logging-api.jar:/u/tsjss/:/usr/lpp/java/J5.0:/usr/lpp/java/J5.0/lib::/usr/local/db2810/jcc/cla
sses/db2jcc.jar
:/usr/local/db2810/jcc/classes/db2jcc_license_cisuz.jar:/usr/local/db2810/classes/db2j2classes.zip:/usr/local/db2810/jcc
/classes/sqlj.zip/*.jar:
JVMJZBL1006I STEPLIB = DBD1.DVLM.SDSNEXIT:DBD1.DVLM.SDSNLOAD:DBD1.DVLM.SDSNLOD2:$STEPLIB
JVMJZBL1006I LANG = C
JVMJZBL1006I LIBPATH = /lib:/usr/lib:/usr/lpp/java/J5.0/bin:/usr/local/db2810/lib:/usr/local/db2810/jcc/lib:/usr/lpp/jav
a/J5.0/bin/classic:
JVMJZBL1006I DISPLAY = SYSE.llbean.com:0.0
JVMJZBL1006I _CXX_CLIB_PREFIX = CBC
JVMJZBL1006I _C89_LIBDIRS = /lib /usr/lib
JVMJZBL1006I DB2SQLJPROPERTIES = /usr/local/db2810/classes/db2sqljjdbc.properties
JVMJZBL1006I X_ADDR = TCPIP.HOSTS.ADDRINFO
JVMJZBL1006I _BPX_SHAREAS = YES
JVMJZBL1006I _C89_INCDIRS = /usr/include
JVMJZBL1006I LINES = 23
JVMJZBL1006I _CC_CLIB_PREFIX = CBC
JVMJZBL1006I JAVA_DUMP_HEAP = false
JVMJZBL1006I JAVA_HOME = /usr/lpp/java/J5.0
JVMJZBL1006I TZ = EST5EDT
JVMJZBL1006I RESOLVER_CONFIG = TCPIP.SYSE.TCPIP
JVMJZBL1006I MANPATH = /usr/man/%L:/usr/lib/nls/msg/%L/%N:/usr/lpp/internet/%N
JVMJZBL1006I NLSPATH = /usr/lpp/WebSphere/AppServer/msg/%L/%N:/usr/lib/nls/msg/%L/%N
JVMJZBL1006I TERMINFO = /usr/share/lib/terminfo
JVMJZBL1006I PWD = /
JVMJZBL1008D ___JZOS_ENV_STOP___
JVMJZBL1012I Java Virtual Machine created. Version information follows:
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build pmz31devifx-20070801 (SR5a))
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 z/OS s390-31 j9vmmz3123ifx-20070627 (JIT enabled)
J9VM - 20070614_12948_bHdSMr
JIT - 20070419_1806_r8
GC - 200704_19)
JVMJZBL1027I Using output encoding: IBM-1047
JVMJZBL1016I MVS commands are ENABLED
JVMJZBL1023N Invoking org.apache.catalina.startup.Bootstrap.main()...
JVMJZBL1024N org.apache.catalina.startup.Bootstrap.main() completed.
JVMJZBL1014I Waiting for non-deamon Java threads to finish before exiting...
JVMJZBL2999I JZOS batch launcher elapsed time=69.913142 seconds, cpu time=1.1282089 seconds
JVMJZBL1021N JZOS batch launcher completed, return code=0
java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina
at java.net.URLClassLoader.findClass(URLClassLoader.java:493)
at java.lang.ClassLoader.loadClass(ClassLoader.java:607)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:222)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:410)
dovetail
Site Admin
Posts: 2022
Joined: Thu Jul 29, 2004 12:12 pm

Post by dovetail »

Its not clear what your problem is.
You do seem to have something wrong with your CLASSPATH - there is a "*.jar" at the end that is wrong, but its not clear that that is the problem.

I would like to suggest that you try running Tomcat with the JCL here:

http://www.dovetail.com/downloads/jzos/index.html

You will need to modify it to use the right JZOS proc (JVMPRC50).
Also, just before the line:

export IBM_JAVA_OPTIONS="$IJO "

Add these lines:
IJO="$IJO -verbose:class"
IJO="$IJO -Dibm.cl.verbose=org.apache.catalina.startup.Catalina"

Which will cause the classloader to print out some diagnostic messages.

Also, do the following and check that all of your tomcat files and directories
can be read by the job's userid:

ls -Ral /usr/local/tomcat

If you still have a problem, please email us the job log (it might be too big to want to post here) to: info@dovetail.com

Kirk
jseiler
Posts: 3
Joined: Wed Jun 04, 2008 1:45 pm
Location: Freeport Maine

Post by jseiler »

Thanks very much. You were correct and my jars were corrupted or otherwise incorrect. I deleted my libraries and I reftped the zip file and re-executed the jar command and everything worked. Woopee!
dovetail
Site Admin
Posts: 2022
Joined: Thu Jul 29, 2004 12:12 pm

Post by dovetail »

For others that might have classpath problems, there are a couple of java properties that you can set in z/OS SDK V5 that helps debug:

-verbose:class -Dibm.cl.verbose=org.apache.catalina.startup.Catalina

(or whatever class or wild-card pattern that you want to debug)
Post Reply