On 18/02/12 10:23, Nico Schertler wrote:
Hi Rob,

thanks for your reply. I used all JARs from here: 
http://www.apache.org/dist/incubator/jena/apache-jena-2.7.0-incubating.zip. 
This includes the ARQ 2.9 library.
I use JavaSE-1.6 as the execution runtime. You're right. When I create a 
standard java project with this JRE, I can use the Exception. So it is really a 
problem of the Felix Class Loader. Has anyone done this before or knows how I 
can force the class loader to load the exception class?

Nico

ARQ.java:437 => is a call to ARQMgt which kicks the JMX setup.

I do know that ARQ has run inside Felix+BndTools as OSGi.

MalformedObjectNameException is mentioned in ARQMgt as caught class - the whole init code is inside try/catch (Throwable ex) so if that is an exception being thrown, and not a stacktrace printed by the logger, then your environment then the class wasn't available.

I'm not an OSGi expert but it looks like, in the new environment, the right classes aren't available.

Is that the end of the stacktrace?
Is there a log message?

        Andy


-----Ursprüngliche Nachricht-----
Von: Rob Vesse [mailto:[email protected]]
Gesendet: Freitag, 17. Februar 2012 18:35
An: [email protected]
Betreff: Re: Using Jena in OSGi - NoClassDefFoundException on 
javax/management/MalformedObjectNameException

Hi Nico

You say you upgraded Jena but don't say whether you upgraded ARQ, if you 
upgraded to Jena 2.7.0 you would also need to upgrade to ARQ 2.9.0 as ARQ 
depends on Jena

If it is the case that you did upgrade both and you're still seeing this error 
then it looks more like a Java classpath/runtime problem.  The missing class is 
part of JMX and JMX should typically be in your JRE but that may depend on the 
exact version of Java you are running?

Rob

On 2/17/12 9:24 AM, Nico Schertler wrote:
Hi,

am about to convert an existing OSGi project that uses Jena 2.6.4 to another framework 
(from Eclipse Equinox to Apache Felix in combination with BndTools). The old project on 
Equinox worked very well, however, I have some trouble with the new framework. In order 
to include the Jena libraries into my project, I created a new "Plugin from existing 
JAR Archives". I exported that to a deployable Plugin and put that into my local 
repository. From there I could add it to my project's build path. It seemed to work well. 
It could be compiled, but when I started the project, on the first access to Jena 
(createResource) a NoClassDefFoundException on org.xml.sax.SAXException. To solve this 
problem, I decided to upgrade the Jena libraries to 2.7 (from a here). So I did the exact 
same steps as above. The project, again, could compile and ran a little further. Now, the 
createResource-call did not crash and worked very well. However, the project crashed 
while performing a SPARQL-Query. H
ere's an excerpt of the stack trace:
java.lang.NoClassDefFoundError: javax/management/MalformedObjectNameException
      at com.hp.hpl.jena.query.ARQ.init(ARQ.java:437)
      at com.hp.hpl.jena.query.ARQ.<clinit>(ARQ.java:456)
      at com.hp.hpl.jena.query.Query.<clinit>(Query.java:62)
      at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:80)
      at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:52)
      at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:40)
      at 
com.hp.hpl.jena.query.QueryExecutionFactory.makeQuery(QueryExecutionFactory.java:517)
      at
com.hp.hpl.jena.query.QueryExecutionFactory.create(QueryExecutionFacto
ry.java:193)

And, indeed, I was not able to find the definition of this exception in the 
Jena libraries. Have I missed anything? Or any other ideas, how to solve this?

Nico






Reply via email to