world tutorial pom mvn hello from example archetype java android maven simple-framework jarjar

java - pom - tutorial de maven



Android: error que incluye/reempaquetar dependencias que hacen referencia a las clases centrales javax (3)

Spring Android usa Maven para integrar Simple. Eche un vistazo a la siguiente URL, debería proporcionar sugerencias sobre cómo hacer que Maven trabaje con Simple.

http://static.springsource.org/spring-android/docs/1.0.x/reference/html/rest-template.html

Estoy trabajando en una aplicación de Android usando Maven como la herramienta de compilación. Logré establecer la actualización correctamente (las dependencias de maven se exportan al apk, etc.), sin embargo, tengo un problema restante que me está volviendo loco.

Quiero incluir una dependencia en el analizador xml de Simpleframework definido de la siguiente manera en mi archivo POM:

<dependency> <groupId>org.simpleframework</groupId> <artifactId>simple-xml</artifactId> <version>2.5.3</version> </dependency>

Cuando mvn install en el proyecto, mvn install el siguiente error (truncado):

trouble processing "javax/xml/namespace/NameSpaceContext.class" ...

Conozco los resultados de error del analizador xml simple que hace referencia a estas clases javax, sin embargo, todavía no he encontrado una solución (no sirve de nada establecer la bandera decore-library).

Actualmente estoy tratando de volver a empaquetar la dependencia con maven-jarjar-pluging pero esto tampoco parece funcionar.

¿Puede alguien ayudarme con esto? Muchas, muchas gracias de antemano!


Define tu depedecy simple-xml así:

<dependency> <groupId>org.simpleframework</groupId> <artifactId>simple-xml</artifactId> <version>2.6.1</version> <exclusions> <!-- StAX is not available on Android --> <exclusion> <artifactId>stax</artifactId> <groupId>stax</groupId> </exclusion> <exclusion> <artifactId>stax-api</artifactId> <groupId>stax</groupId> </exclusion> <!-- Provided by Android --> <exclusion> <artifactId>xpp3</artifactId> <groupId>xpp3</groupId> </exclusion> </exclusions> </dependency>


Yo uso android-maven-plugin, y agregar <coreLibrary>true</coreLibrary> a la etiqueta <configuration> del plugin en el POM funciona para mí. Sin embargo, hay un error: https://github.com/jayway/maven-android-plugin/pull/34 , que debe incluir para corregir el complemento que está utilizando, ya que el error no se solucionará hasta 3.0. Así es como lo conseguí trabajando para mí usando 2.9.0-SNAPSHOT.

  1. agregue un pluginRepository apuntando a http: // oss.sonatype.org/content/repositories/jayway-snapshots/ para obtener 2.9.0-SNAPSHOT
  2. actualice su versión de complemento para usar 2.9.0-SNAPSHOT y agregue <coreLibrary> true </ CoreLibrary> a pom.xml
  3. consiga la solución: git clone https://github.com/kevinpotgieter/maven-android-plugin.git
  4. eliminar src / test / java / com: para que la prueba no falle
  5. paquete mvn
  6. cópielo y sobrescriba su caché maven local en .m2 (Es posible que necesite eliminar su repositorio de complementos, el suyo se sobrescribe siempre).

Los pasos 3-6 no serán necesarios una vez que la corrección ingrese a 2.9.0-SNAPSHOT.

Actualización de julio de 2010: 2.9.0-beta-4 tiene la solución, por lo que no necesita la solución anterior si usa 2.9.0-beta-4 o posterior. Probé 2.9.0-beta-5, que funcionó bien.