Posted by n_alex
on June 2, 2005 at 9:09 AM PDT
I've been interested in JDO technology for a good year now, and I've begun reapproaching JPOX, which my friend Dion showed me last year. As far as Open Source JDO implementations go, it's supposed to be great. I did run into a few problems while trying to get it running in maven, though. Here are some notes.
For me, JDO is all about simplicity. I don't want to sit and worry too much about database schemes and such--I need a really quick solution to a simple persistence problem, and JDO's my personal favorite for that sort of thing. I can't (and won't) comment on solutions to more complex problems at this time.
Overcoming JPox integration hurdles was slightly challenging for me--and I consider myself very competent in this sort of thing. I can imagine it being very frustrating for a new user, so here are some notes and tips.
I rushed straight to their latest 1.1 beta 3 release, knowing full well the pitfalls of working with betas (Drools, anyone?). After an hour or so digging through their site, I'm not certain the documentation on is up-to-date with regards to the maven plugin. But I'm alright with that.
The first thing I'd like to note for newcomers to JPox, especially those working with the new 1.1 betas, is that the instructions currently (06/02/05) up on the JPox maven plugin page (http://www.jpox.org/docs/1_1/tutorials/maven.html ) make the maven build sound a lot easier than it actually is.
First off, you'll need to manually install the jpox-maven-plugin
Get the version that corresponds with the latest release of the code you're using. I'm using 1.1.0-beta-3. After you download the plugin, add it to your maven plugins directory.
You'll also need to download the jdo-2.0-beta.jar, and throw it either in your local maven repository, or put it up online somewhere. I keep two or three maven repositories squirreled away online, for my own personal use. Be sure to follow Sun's license guidelines when you do this, though.
Now, even though I've satisfied all my dependencies, I run "maven jpox:enhance" and I still get a NoClassDefFoundError for org/jpos/metadata/ClassMetaData. This is slightly disturbing, because it means I'll probably have to walk through the JPox jars in my repository, to see if the class is actually there, or if I missed something (which is likely).
So, I open up the jpox-1.1.0-beta-3.jar in WinRAR, or rather, try to. It seems the file is corrupted. This explains the strange error. I nuke the file and rebuild in Maven.
Total time: 20 seconds
Finished at: Thu Jun 02 10:53:06 CDT 2005
In conclusion, when you're working with JPox in Maven, be sure to download the jdo-2.0-beta.jar and to install the JPox plugin from JPox's sourceforge download page. All the hyperlinks should be listed above.
Now, what I really want to know, is when will JPox support object arrays?