[armedbear-devel] Changes committed to org.sciencecommons.lisp.protege

Alan Ruttenberg alanruttenberg at gmail.com
Fri May 21 13:23:08 UTC 2010


On Fri, May 21, 2010 at 8:38 AM, Alessio Stalla <alessiostalla at gmail.com>wrote:

> On Fri, May 21, 2010 at 1:26 PM, Alan Ruttenberg
> <alanruttenberg at 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.
>
> Do you have control on the classloader used by jss? If jclass works,
> it means that the classloader that loaded org.armedbear.lisp.Lisp
> knows about FileUtils. If you can force the jss classloader to use
> Lisp.class.getClassLoader() as its parent, it should work, too.
>


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.

There's also my dwimming of classnames that depends on being able to get a
list of classes to index.

-Alan


>
> hth,
> Alessio
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20100521/c3b7dbac/attachment.html>


More information about the armedbear-devel mailing list