【发布时间】:2013-07-01 22:39:57
【问题描述】:
我在我的 Android 项目中使用 Maven,以及 android-maven-plugin。在我的项目 pom.xml 文件中,我像这样声明依赖项:
<dependency>
<groupId>com.viewpagerindicator</groupId>
<artifactId>library</artifactId>
<version>2.4.1</version>
<type>apklib</type>
</dependency>
ViewPagerIndicator 依赖于 Android 4.1.1.4,它位于 Maven Central here。 但是,我不是使用 Android 4.1.1.4 构建的,而是基于 4.2.2 r2 构建的,它是这样声明的:
<dependency>
<groupId>android</groupId>
<artifactId>android</artifactId>
<version>4.2.2_r2</version>
</dependency>
此工件不在 Maven Central 上,我正在使用 maven-android-sdk-deployer 将 Android 工件推送到我的存储库中。
如果我打开终端并使用 maven 构建,则没有问题。问题是当我将项目导入 IntelliJ 并尝试构建时。模块设置(正确)抱怨 ViewPagerIndicator apklib 模块中 Android 4.1.1.4 依赖项的路径已损坏。
我检查了我的 .m2/repository 文件夹中的 Android 4.1.1.4 jar,甚至没有文件夹,这意味着 Maven 从未下载过它。我猜这与使用 Maven 构建时 maven-android-plugin 的工作方式与 IntelliJ 的构建方式有关。
我知道我可以自己手动部署 jar,但我正在寻找更好的解决方案,因此我团队中的新成员只需要获取源代码而无需执行其他任何操作来构建项目。我已经为团队设置了 Nexus,所以我们不必继续手动部署第三方 jar,并在每个人的机器上运行 sdk 部署程序。我希望能够将源代码交给一个新的开发者,他们就可以使用它来运行。
【问题讨论】:
标签: android intellij-idea viewpagerindicator android-maven-plugin