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 <[email protected] > 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 [email protected] with the message: INFO IBM-MAIN > ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
