Many thanks for this, Oscar... our CI build just broke with this same issue.
I've done two things; - I've updated our documentation on this, with the new preferred solution [1] - I've raised ISIS-448 [2] to fix the example (ie for the archetype in the next release) Thanks Dan [1] http://isis.apache.org/components/objectstores/jdo/datanucleus-and-maven.html [2] https://issues.apache.org/jira/browse/ISIS-448 On 27 June 2013 17:28, GESCONSULTOR - Óscar Bou <o....@gesconsultor.com>wrote: > > Today seems that DataNucleus has updated Maven with a new version of the > Enhancer (3.2.5) (and probably the Core). > > Until now we were working with version 3.2.4. > > That has break the Maven build process, as seems that the new Enhancer > version uses an updated Data Nucleus Core version. > > It's noticed because when building the project the following log is shown: > > [INFO] CP: > /Users/oscarboubou/.m2/repository/org/springframework/spring-core/3.1.0.RELEASE/spring-core-3.1.0.RELEASE.jar > [INFO] CP: > /Users/oscarboubou/.m2/repository/org/jopendocument/jdom/1.1.1/jdom-1.1.1.jar > DataNucleus Enhancer (versiï¿?n 3.2.5) para el API "JDO" utilisando el JRE > "1.6" > DataNucleus Enhancer : Classpath > >> > > /Applications/jbdevstudio7/studio/configuration/org.eclipse.osgi/bundles/1145/1/.cp/jars/plexus-classworlds-2.4.jar > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD FAILURE > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 11.238s > [INFO] Finished at: Thu Jun 27 18:22:48 CEST 2013 > [INFO] Final Memory: 8M/81M > [INFO] > ------------------------------------------------------------------------ > [ERROR] Failed to execute goal > org.datanucleus:datanucleus-maven-plugin:3.2.0-release:enhance (default) on > project xms-framework-architecture-domain: Error executing DataNucleus tool > org.datanucleus.enhancer.DataNucleusEnhancer: InvocationTargetException: > org.datanucleus.metadata.CollectionMetaData.setEmbeddedElement(Ljava/lang/String;)Lorg/datanucleus/metadata/CollectionMetaData; > -> [Help 1] > [ERROR] > [ERROR] To see the full stack trace of the errors, re-run Maven with the > -e switch. > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > [ERROR] > [ERROR] For more information about the errors and possible solutions, > please read the following articles: > [ERROR] [Help 1] > http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException > > > In order to force Maven to use the same version of the Enhancer, simply > replace on the pom.xm of the "dom" package: > > <build> > <plugins> > <plugin> > <groupId>org.datanucleus</groupId> > > <artifactId>datanucleus-maven-plugin</artifactId> > <version>3.2.0-release</version> > <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> > <pluginManagement> > ..... > > > > By this: > > <build> > <plugins> > <plugin> > <groupId>org.datanucleus</groupId> > > <artifactId>datanucleus-maven-plugin</artifactId> > <version>3.2.0-release</version> > <!-- XMS --> > <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>3.2.4</version> > </dependency> > </dependencies> > <!-- XMS --> > <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> > <pluginManagement> > ..... > > If a property would be defined on the parent pom.xml, containing the > datanucleus.core version, it could be instead: > > <version>${datanucleus.core.version}</version> > > Hope this helps. > > >