Building OpenJPASee Build and Runtime Dependencies for details on the required Java levels. MavenCommand Line BuildsThese instructions describe how to check out the current OpenJPA source code (from the Subversion source code management repository) and build it (using the Apache Maven 2 build tool). They are written for use from the console, and are known to work on Linux and Mac OSX. They are also reported to work from Windows.
<settings> <mirrors> <mirror> <id>repo.mergere.com</id> <url>http://repo.mergere.com/maven2</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> </settings> If any tests fail, and you want to ignore the failures, instead run: mvn package -DfailIfNoTests=false An example session as as follows: $ cd /tmp/ $ java -version java version "1.5.0_06" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-112) Java HotSpot(TM) Client VM (build 1.5.0_06-64, mixed mode, sharing) $ mvn -v Maven version: 2.0.9 $ svn --version svn, version 1.4.3 (r23084) compiled Jan 18 2007, 07:47:40 $ svn co https://svn.apache.org/repos/asf/openjpa/trunk/ A trunk/openjpa-lib A trunk/openjpa-lib/src A trunk/openjpa-lib/src/test A trunk/openjpa-lib/src/test/java A trunk/openjpa-lib/src/test/java/org A trunk/openjpa-lib/src/test/java/org/apache A trunk/openjpa-lib/src/test/java/org/apache/openjpa A trunk/openjpa-lib/src/test/java/org/apache/openjpa/lib A trunk/openjpa-lib/src/test/java/org/apache/openjpa/lib/test A trunk/openjpa-lib/src/test/java/org/apache/openjpa/lib/test/AbstractTestCase.java ... A trunk/openjpa-persistence/pom.xml Checked out revision 421381. $ cd trunk/ $ mvn compile [INFO] Scanning for projects... [INFO] Reactor build order: [INFO] OpenJPA [INFO] OpenJPA Utilities [INFO] OpenJPA Kernel [INFO] OpenJPA JDBC [INFO] OpenJPA JPA [INFO] OpenJPA JPA JDBC [INFO] OpenJPA XML Store [INFO] OpenJPA Slice [INFO] OpenJPA Aggregate Jar [INFO] OpenJPA Distribution [INFO] OpenJPA Persistence Examples [INFO] OpenJPA Integration Tests [INFO] OpenJPA Examples Integration Tests [INFO] OpenJPA JPA TCK Integration Tests [INFO] ---------------------------------------------------------------------------- [INFO] Building OpenJPA [INFO] task-segment: [compile] [INFO] ---------------------------------------------------------------------------- ... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] ------------------------------------------------------------------------ [INFO] OpenJPA ............................................... SUCCESS [0.000s] [INFO] OpenJPA Utilities ..................................... SUCCESS [1:12.953s] [INFO] OpenJPA Kernel ........................................ SUCCESS [13.219s] [INFO] OpenJPA JDBC .......................................... SUCCESS [9.094s] [INFO] OpenJPA JPA ........................................... SUCCESS [3.500s] [INFO] OpenJPA JPA JDBC ...................................... SUCCESS [3.250s] [INFO] OpenJPA XML Store ..................................... SUCCESS [0.140s] [INFO] OpenJPA Slice ......................................... SUCCESS [0.719s] [INFO] OpenJPA Aggregate Jar ................................. SUCCESS [0.250s] [INFO] OpenJPA Distribution .................................. SUCCESS [0.344s] [INFO] OpenJPA Persistence Examples .......................... SUCCESS [0.265s] [INFO] OpenJPA Integration Tests ............................. SUCCESS [0.000s] [INFO] OpenJPA Examples Integration Tests .................... SUCCESS [0.000s] [INFO] OpenJPA JPA TCK Integration Tests ..................... SUCCESS [0.000s] [INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1 minute 44 seconds [INFO] Finished at: Tue Sep 02 08:09:27 CDT 2008 [INFO] Final Memory: 11M/29M [INFO] ------------------------------------------------------------------------ $ mvn package -DskipTests [INFO] Scanning for projects... ... [INFO] [assembly:attached {execution: bin}] [INFO] Building zip: /tmp/openjpatestbuild/trunk/openjpa-project/target/site/ downloads/apache-openjpa-1.3.0-SNAPSHOT-binary.zip ... $ ls -lh openjpa-project/target/filtered-site/resources/downloads/ total 46985 -rw-r--r-- 1 sutter pony3 9374808 Sep 2 08:14 apache-openjpa-1.3.0-SNAPSHOT-binary.zip -rw-r--r-- 1 sutter pony3 14680997 Sep 2 08:16 apache-openjpa-1.3.0-SNAPSHOT-source.zip Executing various Maven build tasksRunning just the "TestPersistence" test casemvn test -Dtest=TestPersistence Building and running only the examples included in the distributionmvn -DskipTests -Pexamples-profile integration-test Building just the javadocFirst install the jars: mvn install -DskipTests Then build the javadoc: mvn package -DskipTests -Pjavadoc-profile
The javadoc will be output to target/site/apidocs/index.html. Building just the docbook documentationset MAVEN_OPTS=-Xmx512m mvn -f openjpa-project/pom.xml process-resources -Pdocbook-profile The manual HTML will be output to openjpa-project/target/manual/manual.html. Building with JDK 1.4 module verification (only for versions of OpenJPA prior to svn revision 640685)mvn compile -Djava14.jar=C:\Program Files\Java\j2re1.4.2_07\lib\rt.jar compile Specifying the "java14.jar" system property will cause the JDK-1.4-dependent modules to be compiled with the value as the bootclasspath to the compiler. This can be useful to ensure that modifications and additions do not violate the JDK version restriction of the module. Since the runtime jar location is platform, version, and installation dependent, the exact location of the runtime jar will vary, which is why it needs to be manually specified. Eclipse
For Java SE 5 users, you will need to exclude some Java SE 6 specific classes by performing the following steps for the trunk source:
|