<div dir="auto">See my code for loading a class from a classloader created from a jar URI.   You'll probably have to do that in addition to a URI resolver to find the jar within a jar.    Both sets of code have been posted under different purpose. Consider using .jnlp's referencing .jnlp (web start).</div><div class="gmail_extra"><br><div class="gmail_quote">On Sep 12, 2017 5:21 PM, "Don Brutzman" <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Am trying to get baseline functionality working first.  Then can add robustness such as checking directory paths, reporting problems with output-directory write permissions, etc.<br>
<br>
Still feels close... just need to get "jar within a jar" working, long classpaths aren't friendly or portable.<br>
<br>
On 9/11/2017 2:38 PM, John Carlson wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Try using JavaWS (web start) and a .jnlp file.  I am not sure of the status of these as I have not used them since Java 6.<br>
<br>
Or you can create an uber jar.<br>
<br>
There should be a way to include a jar in a jar, but it’s non-standard, custom code.<br>
<br>
Or change the classpath, removing the usefulness of a single jar.<br>
<br>
What you’ve got here is kind of  a random fix to a non-issue.   Did you address my issues with creating output folders?<br>
<br>
Also, I am not sure what you are doing with the jar url with stylesheets, but I’m going to assume it works for now.<br>
<br>
John<br>
<br>
Sent from Mail <<a href="https://go.microsoft.com/fwlink/?LinkId=550986" rel="noreferrer" target="_blank">https://go.microsoft.com/fwli<wbr>nk/?LinkId=550986</a>> for Windows 10<br>
<br>
*From: *Don Brutzman <mailto:<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>><br>
*Sent: *Sunday, September 10, 2017 11:31 PM<br>
*To: *John Carlson <mailto:<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>><br>
*Cc: *Roy Walmsley <mailto:<a href="mailto:roy.walmsley@ntlworld.com" target="_blank">roy.walmsley@ntlworld.<wbr>com</a>>; X3D Graphics public mailing list <mailto:<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
*Subject: *Re: X3DJSAIL: command line option to force output directory creation<br>
<br>
Hi John, getting closer... Have added a new CommandLine class and modified the<br>
<br>
.jar files to handle command-line invocation.<br>
<br>
<a href="http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/CommandLine.html" rel="noreferrer" target="_blank">http://www.web3d.org/specifica<wbr>tions/java/javadoc/org/web3d/<wbr>x3d/jsail/CommandLine.html</a><br>
<br>
Latest build is still having trouble with visibility of saxon8he.jar within the<br>
<br>
X3DJSAIL .jar.<br>
<br>
$ pwd<br>
<br>
$ /cygdrive/c/x3d-code/<a href="http://www.web3d.org/x3d/stylesheets/java/examples" rel="noreferrer" target="_blank">www.web3d<wbr>.org/x3d/stylesheets/java/<wbr>examples</a><br>
<br>
$ java -jar ../jars/X3DJSAIL.3.3.classes.j<wbr>ar<br>
<br>
HelloWorldProgramOutput.Reload<wbr>ed.x3d -classicVRML<br>
<br>
parameter: -classicVRML for conversion to ClassicVRML encoding<br>
<br>
HelloWorldProgramOutput.Reload<wbr>ed.x3dv<br>
<br>
Exception in thread "main" java.lang.NoClassDefFoundError<wbr>:<br>
<br>
net/sf/saxon/s9api/SaxonApiExc<wbr>eption<br>
<br>
          at org.web3d.x3d.jsail.CommandLin<wbr>e.main(CommandLine.java:149)<br>
<br>
Caused by: java.lang.ClassNotFoundExcepti<wbr>on: net.sf.saxon.s9api.SaxonApiExc<wbr>eption<br>
<br>
          at java.net.URLClassLoader.findCl<wbr>ass(Unknown Source)<br>
<br>
          at java.lang.ClassLoader.loadClas<wbr>s(Unknown Source)<br>
<br>
          at sun.misc.Launcher$AppClassLoad<wbr>er.loadClass(Unknown Source)<br>
<br>
          at java.lang.ClassLoader.loadClas<wbr>s(Unknown Source)<br>
<br>
          ... 1 more<br>
<br>
Have found that Class-Path within .jar is not able to handle internal paths.<br>
<br>
Haven't found correct approach yet.  In this case, am trying to provide internal<br>
<br>
visibility to saxon9he.jar which is within X3DJSAIL.3.3.classes.jar<br>
<br>
<a href="https://docs.oracle.com/javase/tutorial/deployment/jar/downman.html" rel="noreferrer" target="_blank">https://docs.oracle.com/javase<wbr>/tutorial/deployment/jar/<wbr>downman.html</a><br>
<br>
==============================<wbr>==============================<wbr>=======<br>
<br>
Note: The Class-Path header points to classes or JAR files on the local network,<br>
<br>
not JAR files within the JAR file or classes accessible over Internet protocols.<br>
<br>
To load classes in JAR files within a JAR file into the class path, you must<br>
<br>
write custom code to load those classes. For example, if MyJar.jar contains<br>
<br>
another JAR file called MyUtils.jar, you cannot use the Class-Path header in<br>
<br>
MyJar.jar's manifest to load classes in MyUtils.jar into the class path.<br>
<br>
==============================<wbr>==============================<wbr>=======<br>
<br>
On 9/1/2017 2:04 PM, John Carlson wrote:<br>
<br>
 > Don,<br>
<br>
 ><br>
<br>
 > You may want to add an argument to X3DJSAIL app programs to allow the caller to<br>
<br>
 > allow the argument handler to create output folders if they don’t already exist.<br>
<br>
 > -f?  Or add it as a configuration property, if not already there.<br>
<br>
 ><br>
<br>
 > John<br>
<br>
all the best, Don<br>
<br>
-- <br>
<br>
Don Brutzman  Naval Postgraduate School, Code USW/Br       <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br>
<br>
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   <a href="tel:%2B1.831.656.2149" value="+18316562149" target="_blank">+1.831.656.2149</a><br>
<br>
X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">http://faculty.nps.edu/brutzma<wbr>n</a><br>
<br>
</blockquote>
<br>
<br>
all the best, Don<br>
-- <br>
Don Brutzman  Naval Postgraduate School, Code USW/Br       <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br>
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   <a href="tel:%2B1.831.656.2149" value="+18316562149" target="_blank">+1.831.656.2149</a><br>
X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">http://faculty.nps.edu/brutzma<wbr>n</a><br>
</blockquote></div></div>