Tengo un problema al configurar el potenciador de datanucleus para usar con un proyecto de motor de aplicación de Google. Si uso el plugin datanucleus eclipse, todo va bien, pero en mi proyecto maven me sale un extraño error de versión conflictiva.Versiones conflictivas de potenciador de datanucleus en un proyecto de motor de aplicación de google de maven
Mi POM tiene estas referencias: DataNucleus
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-core</artifactId>
<version>1.1.0</version>
</dependency>
...
<plugin>
<groupId>org.datanucleus</groupId>
<artifactId>maven-datanucleus-plugin</artifactId>
<version>1.1.0</version>
<configuration>
<mappingIncludes>**/*.class</mappingIncludes>
<verbose>true</verbose>
<enhancerName>ASM</enhancerName>
<api>JDO</api>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>enhance</goal>
</goals>
</execution>
</executions>
</plugin>
Cuando intento para construir el proyecto me sale el siguiente error:
Exception in thread "main" Plugin (Bundle) "org.datanucleus" is already registered. Ensure you dont have multiple JAR versions of the same plugin in the classpath. The URL "file:/Users/drome/.m2/repository/org/datanucleus/datanucleus-core/1.1.0/**datanucleus-core-1.1.0.jar**" is already registered, and you are trying to register an identical plugin located at URL "file:/Users/drome/.m2/repository/org/datanucleus/datanucleus-core/1.1.3/**datanucleus-core-1.1.3.jar**." org.datanucleus.exceptions.NucleusException: Plugin (Bundle) "org.datanucleus" is already registered. Ensure you dont have multiple JAR versions of the same plugin in the classpath. The URL "file:/Users/drome/.m2/repository/org/datanucleus/datanucleus-core/1.1.0/datanucleus-core-1.1.0.jar" is already registered, and you are trying to register an identical plugin located at URL "file:/Users/drome/.m2/repository/org/datanucleus/datanucleus-core/1.1.3/datanucleus-core-1.1.3.jar." at org.datanucleus.plugin.NonManagedPluginRegistry.registerBundle(NonManagedPluginRegistry.java:437) at org.datanucleus.plugin.NonManagedPluginRegistry.registerBundle(NonManagedPluginRegistry.java:343) at org.datanucleus.plugin.NonManagedPluginRegistry.registerExtensions(NonManagedPluginRegistry.java:227 ) at org.datanucleus.plugin.NonManagedPluginRegistry.registerExtensionPoints(NonManagedPluginRegistry.jav a:159) at org.datanucleus.plugin.PluginManager.registerExtensionPoints(PluginManager.java:82) at org.datanucleus.OMFContext.(OMFContext.java:164) at org.datanucleus.enhancer.DataNucleusEnhancer.(DataNucleusEnhancer.java:171) at org.datanucleus.enhancer.DataNucleusEnhancer.(DataNucleusEnhancer.java:149) at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1157)
No entiendo por qué DataNucleus requiere experto para descargar DataNucleus -core-1.1.3.jar ya que no se hace referencia en el pom.xml
Tampoco entiendo por qué se está registrando datanucleus-core-1.1.3.jar ...
¿Alguna idea? Gracias de antemano ...
No creo que sea posible excluir una versión diferente del mismo artefacto. grupo-a artefacto-a 1,0 grupo-c excluidos-artefacto –
ivo
El plugin DN M2 hace la única razonable Lo que puede hacer ; usa lo último No veo otra forma de tener un complemento M2 y no tener que lanzar una nueva versión cada vez que lanzamos una nueva versión de un contenedor dependiente y es por lo que se introdujeron los rangos de versión M2. Otras personas han tenido ninguna manipulación de este http://groups.google.com/group/google-appengine-java/browse_thread/thread/aeaffa3f33e1e4e2/095300c75cd9da39?lnk=gst&q=maven-datanucleus#095300c75cd9da39 Obviamente Google actualización problema su jar de complemento DN significaría que es irrelevante. – DataNucleus
Después del enlace que proporcionó, de hecho, al cambiar el alcance a 'tiempo de ejecución' se solucionó el problema. Gracias por el apoyo :-) – ivo