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