<br><br><div class="gmail_quote">On Fri, May 21, 2010 at 8:38 AM, Alessio Stalla <span dir="ltr"><<a href="mailto:alessiostalla@gmail.com">alessiostalla@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div><div></div><div class="h5">On Fri, May 21, 2010 at 1:26 PM, Alan Ruttenberg<br>
<<a href="mailto:alanruttenberg@gmail.com">alanruttenberg@gmail.com</a>> wrote:<br>
> 4) Having some kind of classpath issues still. When I try (show-classtree<br>
> "<a href="http://purl.obolibrary.org/obo/iao.owl" target="_blank">http://purl.obolibrary.org/obo/iao.owl</a>") (after loading my ow2 package<br>
> sucessfully), which should exercise a bunch of stuff, I get a class not<br>
> found error in the OWLAPI code.<br>
> owlxmlparser/src/main/java/org/coode/owlapi/owlxmlparser/OWLXMLParserFactory.java<br>
> "java.lang.NoClassDefFoundError:<br>
> javax/xml/parsers/ParserConfigurationException<br>
> at<br>
> org.coode.owlapi.owlxmlparser.OWLXMLParserFactory.createParser(OWLXMLParserFactory.java:39)<br>
> at<br>
> uk.ac.manchester.cs.owl.owlapi.ParsableOWLOntologyFactory.getParsers(ParsableOWLOntologyFactory.java:82)<br>
> at<br>
> uk.ac.manchester.cs.owl.owlapi.ParsableOWLOntologyFactory.loadOWLOntology(ParsableOWLOntologyFactory.java:158)<br>
> at<br>
> uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntology(OWLOntologyManagerImpl.java:633)<br>
> at<br>
> uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl.loadOntologyFromOntologyDocument(OWLOntologyManagerImpl.java:591)<br>
> "<br>
> This is code that uses jss for the jar management and I have no idea how<br>
> this interacts with the classpath management of OSGI. I guess OSGI is doing<br>
> various kinds of isolation and I want to blow all the isolation away :)<br>
> I guess I'm bound to lose somehow - I'm dynamically loading the OWLAPI jar,<br>
> for instance, but protege has it loaded? I guess I can skip loading them<br>
> with jss if I can figure out how to use the ones that protege has loaded.<br>
> They are in various plugins.<br>
> Right now the jss code looks at the classpath to figure out what jars it<br>
> should parse to get class names. I suppose by analogy I would look through<br>
> the bundles for classnames. Is there a way to programmatically determine<br>
> which bundles are available? To add them programmatically? Or do I need to<br>
> recompile the plugin to get access to a new plugin?<br>
> e.g. I see that I can get a protege editor class:<br>
> (jclass "org.protege.editor.core.FileUtils")<br>
> -> #<java class org.protege.editor.core.FileUtils {39C7}><br>
> But jss doesn't know about it:<br>
> (find-java-class 'core.fileutils)<br>
> -> NIL<br>
> #<ERROR {5D08B1}><br>
> If you have a pointer to your favorite doc about how the OSGI classloading<br>
> works, please let me know.<br>
<br>
</div></div>Do you have control on the classloader used by jss? If jclass works,<br>
it means that the classloader that loaded org.armedbear.lisp.Lisp<br>
knows about FileUtils. If you can force the jss classloader to use<br>
Lisp.class.getClassLoader() as its parent, it should work, too.<br></blockquote><div><br></div><div><br></div><div>I do, but currently it depends on being able to dynamically load jars. I'd like to retain this capability. It uses bsh.ClassManager but it might do to work with bsh.classpath.BshClassLoader.</div>

<div><br></div><div>There's also my dwimming of classnames that depends on being able to get a list of classes to index. </div><div><br></div><div>-Alan</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


<br>
hth,<br>
<font color="#888888">Alessio<br>
</font></blockquote></div><br>