JPOX can be easily developed using Maven1. You also require JDK1.5, an SVN client (to download JPOX) and an editor. Additionally, you should set the environment variable "MAVEN_OPTS" to "-Xmx512m -Xms512m" in order to avoid OutOfMemoryErrors during maven builds. JPOX is split into several Maven1 projects and you need these building in a particular order due to dependencies.
The "local.repository" project (in SVN under "platform/local.repository/trunk") provides all jars required by JPOX in a Maven1 style repository layout. It is referenced by all JPOX projects and so you need this to be present. You don't need to build anything here.
The JPOX "core" (in SVN under "platform/core/trunk") project is the root of all JPOX projects and is the primary requirement for development. You then simply type (from this project) maven clean jar:install This builds the jar under "target" and installs it into the Maven repository.
The "thirdparty" project (in SVN under "platform/thirdparty/trunk") contains stubs for third party libraries that may be needed when building JPOX. The most common requirement that it fulfils is to provide stubs for JDBC4 (JDK1.6) that JPOX builds against. To build the "thirdparty" using Maven1, you simply type (from this project) maven clean jar:install This builds the jar under "target" and installs it into the Maven repository.
The "store.rdbms" project (in SVN under "platform/store.rdbms/trunk") provides persistence to RDBMS datastores, and builds on top of "core". It requires "thirdparty" to be built. To build the "store.rdbms" using Maven1, you simply type (from this project) maven clean jar:install This builds the jar under "target" and installs it into the Maven repository.
The "store.db4o" project (in SVN under "platform/store.db4o/trunk") provides persistence to DB4O datastores, and builds on top of "core". To build the "store.db4o" using Maven1, you simply type (from this project) maven clean jar:install This builds the jar under "target" and installs it into the Maven repository.
When building "enhancer" (in SVN under "platform/enhancer/trunk") using Maven1, you need "core" to be built. You then simply type (from this project) maven clean jar:install This builds the jar under "target" and installs it into the Maven repository.
When building other JPOX projects (in SVN under "platform") you follow the same instructions as shown above. That is, download the project, and type (from that project) maven clean jar:install This builds the plugin jar under "target" and installs it into the Maven repository.
The "test.framework" project (in SVN under "platform/test.framework/trunk") contains the basic classes used for testing JPOX. The first thing you need to do is build this. To build the "test.framework" using Maven1, you simply type (from the test.framework project) maven clean jar:install This builds the jar under "target" and installs it into the Maven repository.
The "test.samples" project (in SVN under "platform/test.samples/trunk") contains a series of basic model samples for use in testing JPOX. These are the classes to be persisted, but do not include the information about how they will be persisted (that is specified in the individual test suite). The first thing you need to do is build this. To build the "test.samples" using Maven1, you simply type (from the test.samples project) maven clean jar:install This builds the jar under "target" and installs it into the Maven repository.
For details of running the Test Suites using maven please consult the unit tests documentation for the particular version of JPOX you want to test: |