这一定是一个非常愚蠢的新手问题,但我花了一整天的时间试图弄清楚这件事有什么问题。
我准备将Sherlock Action栏依赖于我的Android-Maven项目。该网站制作了一个repo来支持maven-android设置。我知道我应该只包含依赖项,然后在pom中指定repo,我已经设法做了,但没有运气,这对我不起作用。
这些是我使用的依赖项和存储库标记
<dependency>
<groupId>com.actionbarsherlock</groupId>
<artifactId>library</artifactId>
<version>3.5.1</version>
<type>apklib</type>
</dependency>
和这个
<repository>
<id>jakewharton</id>
<url>http://r.jakewharton.com/maven/release/</url>
</repository>
我根本没有任何错误。只是我在eclipse的包浏览器上的maven依赖项目录下看不到APKLIB。但最重要的是,我不能使用apklib下的包/类。
我错过了什么吗?
答案 0 :(得分:12)
这种特殊类型的apklib依赖只能在命令行控制台的android-maven-plugin中运行。将它作为依赖项添加到主项目的POM中不会自动将库项目导入Eclipse,因此Package Explorer中没有显示库项目。
简单地将apklib作为pom中的依赖项添加对项目开发没有多大帮助。因为apklib下的包/类没有被引用/链接到你的主项目。它与常规jar依赖项不同,您只需将jar依赖项添加到项目中,然后在主项目中启动import / use packages / classes。
您需要将库项目导入Eclipse工作区,并将其与主项目链接。由于您已经使用了android-maven-plugin,最直接的方法是将您的maven项目更改为多模块项目并将库项目添加为子模块 从android-maven-plugin示例here
中查看LibraryProjects希望得到这个帮助。