usar sts mvn generar consola configurar con android eclipse maven actionbarsherlock m2e

android - sts - ActionBarSherlock+maven+eclipse: la dependencia no se encuentra en el área de trabajo



mvn eclipse (5)

He actualizado a la última versión del complemento ADT y me enfrenté a este problema , resolví la actualización también del complemento eclipse m2e-android. Ahora, puedo compilar mi proyecto a través de la consola, pero no con eclipse. Esta es la excepción lanzada por el archivo pom.xml en eclipse:

dependency=[com.actionbarsherlock:library:apklib:4.1.0:compile] not found in workspace

En versiones anteriores de ADT / m2e-android, pude construir tanto la consola como el eclipse sin problemas.

Alguien sabe cómo resolver esto? Tal vez mi pom.xml está mal?

Gracias por tu tiempo.

Actualmente utilizando:

  • Eclipse classic 3.7.2 (con Juno el problema persiste)
  • ADT 20.0.3
  • m2e-android 0.42
  • Android-Maven-Plugin 3.3.0
  • maven 3.0.4
  • m2e 1.1.0 (incluido como una dependencia en m2e-android 0.42)

pom.xml:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.jelies</groupId> <artifactId>my-project</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>apk</packaging> <dependencies> <dependency> <groupId>android</groupId> <artifactId>android</artifactId> <version>4.1_r2</version> <scope>provided</scope> </dependency> <!-- some unrelated dependencies --> <dependency> <groupId>com.actionbarsherlock</groupId> <artifactId>library</artifactId> <version>4.1.0</version> <type>apklib</type> </dependency> </dependencies> <build> <finalName>${project.artifactId}</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.1.2</version> <executions> <execution> <id>attach-sources</id> <phase>verify</phase> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.4</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> <plugin> <groupId>com.jayway.maven.plugins.android.generation2</groupId> <artifactId>android-maven-plugin</artifactId> <version>3.3.0</version> <configuration> <sdk> <platform>16</platform> </sdk> <emulator> <avd>avd-4.1</avd> </emulator> <deleteConflictingFiles>true</deleteConflictingFiles> <undeployBeforeDeploy>true</undeployBeforeDeploy> </configuration> <extensions>true</extensions> </plugin> </plugins> </build> <profiles> <profile> <id>eclipse</id> <activation> <!-- This profile is only activated when m2e.version is present (only in eclipse) --> <property> <name>m2e.version</name> </property> </activation> <dependencies> <dependency> <groupId>com.google.android</groupId> <artifactId>support-v4</artifactId> <version>r7</version> <scope>provided</scope> </dependency> </dependencies> </profile> </profiles> </project>

EDITAR:

La respuesta es correcta. Al tener el proyecto de la biblioteca ABS en mi área de trabajo, ¡el error desapareció! Pero apareció otro problema: las dependencias transitivas de ABS se agregan a mi proyecto, lo que hace que eclipse no pueda iniciar la aplicación. Este es un problema conocido que puede seguir here .


A partir de Android 0.4.2, ahora debe personalizar los proyectos de la biblioteca de Android en su área de trabajo de Eclipse para que m2e-android los detecte con éxito. El POM para ActionBarSherlock se puede encontrar aquí:

https://github.com/JakeWharton/ActionBarSherlock/blob/master/library/pom.xml#

Nota: m2e-android es un software beta y, por lo tanto, pueden ocurrir cambios entre las versiones.


Agregue esto a su archivo pom.xml principal como una dependencia:

<dependency> <groupId>com.actionbarsherlock</groupId> <artifactId>actionbarsherlock</artifactId> <type>apklib</type> <version>4.2.0</version> </dependency>

Y las siguientes líneas para su proyecto pom.xml:

<dependency> <groupId>com.actionbarsherlock</groupId> <artifactId>actionbarsherlock</artifactId> <version>4.2.0</version> </dependency>



Para aquellos que no saben lo que significa "MAVENIZADO" significa que es convertir un proyecto simple para ser un Proyecto Maven.

En Eclipse, haga clic derecho en su proyecto, Configurar -> Convertir a proyecto Maven


puede incluir la dependencia de actionbarsherlock como archivo jar solo cuando use eclipse a través de los perfiles

<profile> <id>m2e</id> <activation> <property><name>m2e.version</name></property> </activation> <dependencies> <dependency> <groupId>com.actionbarsherlock</groupId> <artifactId>actionbarsherlock</artifactId> <version>${abs.version}</version> <type>jar</type> </dependency> </dependencies> </profile>

y no es necesario incluir todo el actionbarsherlock como proyecto en eclipse