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>
He escrito un tutorial detallado sobre la integración de sherlock de la barra de acción mvn + eclipse + http://v.zasadnyy.com/blog/abs-maven-eclipse-integration/
Espero que sea de ayuda.
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