ActionBarSherlock + maven + eclipse:在工作区中找不到依赖项
我已经更新到最新版本的ADT插件,我面临这个问题,解决了更新m2e-android eclipse插件。 现在,我可以通过控制台编译我的项目,但不能使用eclipse。 这是eclipse中的pom.xml
文件抛出的异常:
dependency=[com.actionbarsherlock:library:apklib:4.1.0:compile] not found in workspace
在以前版本的ADT / m2e-android中,我能够毫无问题地构建console和eclipse。
有谁知道如何解决这个问题? 也许我的pom.xml是错的?
谢谢你的时间。
目前使用:
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>
编辑:
答案是对的。 让ABS库项目在我的工作空间中变得异常复杂,错误消失了! 但是,另一个问题出现了:ABS传递依赖项被添加到我的项目中,导致eclipse无法启动应用程序。 这是您可以在此处遵循的已知问题。
从Android 0.4.2开始,您现在需要在Eclipse工作区中为m2e-android构建Android库项目,以成功检测它们。 ActionBarSherlock的POM可以在这里找到:
https://github.com/JakeWharton/ActionBarSherlock/blob/master/library/pom.xml#
注意: m2e-android是beta软件,因此可能会影响功能的更改可能会在发行版之间发生。
对于那些不知道“MAVENIZED”是什么意思的人来说,它将一个简单的项目转换为Maven项目。
在Eclipse中,右键单击您的项目,配置 - >转换为Maven项目
只有在通过配置文件使用eclipse时,才可以将actionbarsherlock依赖项包含为jar文件
<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>
并且不需要在eclipse中包含整个actionbarsherlock作为项目
链接地址: http://www.djcxy.com/p/87275.html上一篇: ActionBarSherlock + maven + eclipse: dependency not found in workspace