powered by Jive Software

Java org.xmlpull.v1.XmlPullParserFactory Error

Seems like a recurring problem, I am trying to make a ConnectionConfiguration object via dns lookup, and get this error:

java.lang.NoClassDefFoundError: org/xmlpull/v1/XmlPullParserFactory

I am using Smack 4.0.1…and from wandering around other posts on the site, is this thing somewhere in the libraries or no? Different posts at different times seem to imply differently, but all of them quite old. I looked through the libraries and can’t find that package hiding in any of them. I just want to make sure I’m using the correct library, can anybody point me to where this thing is hiding? Or is just the version that I can find off of xmlpull.org the same one being using in Smack? (and what version from their website if that is the route…)

You need to have Xml Pull Parser in your classpath.

I understand that. The point is, Smack documentation says that there is no need for additional libraries. Yet I need an XmlPullParser. That constitutes an external library.

So, I’m wondering, is the documentation just wrong? If so, which library is recommended?

Or, is the documentation correct, and have I missed an included package somewhere that has this particular PullParser? If so, which package is it? I have inspected all the jar files that came with smack and see no such package.

Smack documentation says that there is no need for additional libraries.
Where is this stated? So it can get fixed.

In the 4.0.1 releasedocs/documentation docs, the ‘Getting Started’ page, it says under the heading ‘JAR Files and Requirements’:

Smack is meant to be easily embedded into any existing JDK 1.5 or later Java application. It has no external dependencies (except for the Jingle voice chat functionality) and is optimized to be as small as possible.

Sorry if this has been fixed in the latest reivision, 4.0.1 was the latest when I went to grab it.

Is this a documentation error then? Is there a recommended implementation or will any of them (that you can find from the pullparser website that has not been updated in a VERY long time) do?

Is this a documentation error then?
Yes, has been fixed with https://github.com/igniterealtime/Smack/commit/1935039432113a7437c19066d8129164b b73c7f2

Is there a recommended implementation
The latest of XPP3 will do xpp3-1.1.4c

that you can find from the pullparser website that has not been updated in a VERY long time
Development of XPP3 is just finished, the codebase and leassons learned went into Stax. XPP3 is just a very mature library, that’s why there is no more development. Furthermore the advantage of using XPP is that it’s avaialble on Java and on Android, that’s why Smack still uses the XPP interface (and not the Stax)