Hi Carmen,
 
as the classpath size affects performance, its definitly a good idea to limit 
the jars and its contents to what is required.
In addition some customers require a certain order of the jar files in some 
cases and as such, wildcards are not an option, since they produce 
unpredictable results with the order of the jars.
 
Denis.
 
 
-----Original Message-----
From: Carmen Vitullo <cvitu...@hughes.net>
To: IBM-MAIN <IBM-MAIN@LISTSERV.UA.EDU>
Sent: Thu, Apr 27, 2017 8:31 pm
Subject: Re: JZOS Java CLASSPATH

Funny I'm looking at both right now, getting ready for a migration of an 
application from Java on Unix to Java on z/OS, I've been testing the BCD batch 
process and the JZOS proc, the scripting seems to work as designed, and seeing 
how it works with a small test I wonder if that's overkill to allow Java to 
load all the class libraries ? 
I'll need some real testing with an application right now using the defaults I 
set 



APP_HOME=$JAVA_HOME <--- change 
CLASSPATH=$APP_HOME:"${JAVA_HOME}"/lib:"${JAVA_HOME}"/lib/ext 
# Add Application required jars to end of CLASSPATH 
for i in "${APP_HOME}"/*.jar; do 
CLASSPATH="$CLASSPATH":"$i" 
done 
export CLASSPATH="$CLASSPATH": 


Carmen 

----- Original Message -----

From: "Kirk Wolf" <k...@dovetail.com> 
To: IBM-MAIN@LISTSERV.UA.EDU 
Sent: Thursday, April 27, 2017 12:23:27 PM 
Subject: Re: JZOS Java CLASSPATH 

Yes, this is a feature of the "java" command JVM launcher that is not 
present in the JZOS batch launcher and the "java" command launcher. 

Both launchers invoke the JVM launcher API and pass in "-Djava.class.path=" 
as an option using $CLASSPATH, but the "java" command launcher seems to be 
enhanced (somewhat recently) to expand an entry with a basename of "*" to 
include all of the jar files in that directory: 
http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html 

And yet I fail to see why this is an issue since the JZOS sample JCL shows 
how to use the shell language to handle this - with more flexibility. 

For example, the "java" command launcher can't do this: 

for i in "${MYDIR}"/foo*.jar; do 
CLASSPATH="$CLASSPATH":"$i" 
done 



Kirk Wolf 
Dovetailed Technologies 
http://dovetail.com 

On Thu, Apr 27, 2017 at 7:22 AM, Andrew Rowley <and...@blackhillsoftware.com 
> wrote: 

> On 27/04/2017 09:49 PM, Peter Hunkeler wrote: 
> 
>> You need to escape the * so that the shell will assign it to the 
>> environment variable instead of "resolving" it. Try: 
>> 
>> I don't think so. I have a small Java program to display the CLASSPATH 
> environement variable and what it resolves to: 
> 
> import java.net.URL; 
> import java.net.URLClassLoader; 
> 
> public class ClassPath { 
> public static void main (String args[]) { 
> System.out.println(System.getenv("CLASSPATH")); 
> ClassLoader cl = ClassLoader.getSystemClassLoader(); 
> URL[] urls = ((URLClassLoader)cl).getURLs(); 
> for(URL url: urls){ 
> System.out.println(url.getFile()); 
> } 
> } 
> } 
> 
> Under JZOS: 
> 
> JVMJZBL1023N Invoking ClassPath.main()... 
> JVMJZBL1024N ClassPath.main() completed. 
> JVMJZBL1021N JZOS batch launcher completed, return code=0 
> /home/andrewr/java/target:/usr/lpp/java/J8.0/lib:/usr/lpp/ 
> java/J8.0/lib/ext:/home/andrewr/java/lib/*: 
> /home/andrewr/java/target/ 
> /VERSYSB/usr/lpp/java/J8.0/lib/ 
> /VERSYSB/usr/lpp/java/J8.0/lib/ext/ 
> /home/andrewr/java/lib/* 
> /home/andrewr/ 
> 
> Under BPXBATCH: 
> 
> java/target:java/lib/* 
> /home/andrewr/java/target/ 
> /home/andrewr/java/lib/easysmf-je-1.5.2.jar 
> /home/andrewr/java/lib/easysmf-je-samples-1.5.2.jar 
> /home/andrewr/java/lib/javax.mail.jar 
> /home/andrewr/java/lib/slf4j-api-1.7.21.jar 
> /home/andrewr/java/lib/slf4j-simple-1.7.21.jar 
> /home/andrewr/java/lib/jsoup-1.10.2.jar 
> 
> In both cases I can see the asterisk in the CLASSPATH variable. Under 
> BPXBATCH the jars in that directory are in the classpath as expected. Under 
> JZOS the asterisk itself ends up as an entry. 
> 
> 
> ---------------------------------------------------------------------- 
> For IBM-MAIN subscribe / signoff / archive access instructions, 
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN 
> 

---------------------------------------------------------------------- 
For IBM-MAIN subscribe / signoff / archive access instructions, 
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN 


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to