You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2013/06/28 09:22:23 UTC

svn commit: r1497666 - /isis/site/trunk/content/components/objectstores/jdo/datanucleus-and-maven.md

Author: danhaywood
Date: Fri Jun 28 07:22:23 2013
New Revision: 1497666

URL: http://svn.apache.org/r1497666
Log:
updating info on handling datanucleus and maven

Modified:
    isis/site/trunk/content/components/objectstores/jdo/datanucleus-and-maven.md

Modified: isis/site/trunk/content/components/objectstores/jdo/datanucleus-and-maven.md
URL: http://svn.apache.org/viewvc/isis/site/trunk/content/components/objectstores/jdo/datanucleus-and-maven.md?rev=1497666&r1=1497665&r2=1497666&view=diff
==============================================================================
--- isis/site/trunk/content/components/objectstores/jdo/datanucleus-and-maven.md (original)
+++ isis/site/trunk/content/components/objectstores/jdo/datanucleus-and-maven.md Fri Jun 28 07:22:23 2013
@@ -58,6 +58,68 @@ istered, and you are trying to register 
 ch.
 </pre>
 
+
+
+
+### Preferred solution
+
+> This solution fixes is now version of DataNucleus to be the version referenced by the JDO ObjectStore.  
+> 
+> This is the solution used from the Isis Core 1.3.0-SNAPSHOT onwards.
+
+In the root project's `pom.xml`, specify the property:
+
+    <properties>
+        <datanucleus-core.version>3.2.4</datanucleus-core.version>
+        ...
+    </properties>
+
+where the version should be the same as the one referenced by the JDO Objectstore.
+
+Then, in the `dom` project's `pom.xml`, update the DataNucleus enhancer plugin to force it to use a specific version of the DataNucleus core: 
+
+
+    <plugins>
+        <plugin>
+            <groupId>org.datanucleus</groupId>
+            <artifactId>datanucleus-maven-plugin</artifactId>
+            <version>3.2.0-release</version>
+            <dependencies>
+                <dependency>
+                        <!-- Force the enhancer to use the same version 
+                        of core that's already on the classpath -->
+                        <groupId>org.datanucleus</groupId>
+                        <artifactId>datanucleus-core</artifactId>
+                        <version>${datanucleus-core.version}</version>
+                    </dependency>
+                </dependencies>
+                <configuration>
+            	<fork>false</fork>
+                <log4jConfiguration>${basedir}/log4j.properties</log4jConfiguration>
+                <verbose>true</verbose>
+                <props>${basedir}/datanucleus.properties</props>
+            </configuration>
+            <executions>
+                <execution>
+                    <phase>compile</phase>
+                    <goals>
+                        <goal>enhance</goal>
+                    </goals>
+                </execution>
+            </executions>
+        </plugin>
+       ...
+    </plugins>
+
+ 
+
+### Original solution
+
+> This solution attempts to use the latest-n-greatest version of DataNucleus, and was the approach used in Isis Core 1.2.0 and earlier.  However, it has been found to be flawed if a new version of the DataNucleus enhancer was released that had an incompatibility with the version of DN referenced by the JDO ObjectStore.  
+> 
+> Use the preferred solution, above, instead.
+
+
 The fix is to use a Maven profile.  The following is correct as of the JDO ObjectStore v1.1.0:
 
 <pre>