Claude Warren created JENA-356:
----------------------------------

             Summary: Assembley loader does not work across jars in Fuseki
                 Key: JENA-356
                 URL: https://issues.apache.org/jira/browse/JENA-356
             Project: Apache Jena
          Issue Type: Bug
          Components: Fuseki
    Affects Versions: Fuseki 0.2.5
            Reporter: Claude Warren


When attempting to load the d2rq assembler using the default fuseki-server.jar 
and a config.ttl file I get com.hp.hpl.jena.shared.JenaException: 
java.lang.ClassNotFoundException: 
de.fuberlin.wiwiss.d2rq.assembler.D2RQAssembler even though the jar is on the 
path.  Moving the de/... and d2rq/... classes from the d2rq jar into the 
fuseki-server jar solves the problem.

To recreate

Download fuseki and d2rq.

create a d2rq configuration that works.

create a fuseki config.ttl that will load the d2rq configuration.

in the fuseki directory execute 
java -Dlog4j.configuration=log4j.properties -Xmx1200M -cp 
$CLASSPATH:<d2rqdir>/*  -jar fuseki-server.jar --update --config=config.ttl 

I think the issue is in the 
com.hp.hpl.jena.assembler.AssemblerHelp.loadClassNamedBy( Statement s ) method. 
 I believe that 
       try { return Class.forName( getString( s ) ); }
should be replaced with
       try { return Class.forName( getString( s ), true, null ); }

to use the bootstrap loader.




--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to