Android 应用程序对 android 库项目的引用在 Maven-> 更新项目后中断

标签 android maven m2eclipse android-maven-plugin

我有一个 android 项目和一个 android 库项目(我自己的)它依赖。我使用 Maven(包括 maven-android-plugin)进行自动构建,使用 Eclipse 作为我的 IDE,使用 m2eclipse 和 m2e-android 连接两者。

在大多数情况下,它工作正常:我可以从命令行进行 Maven 构建,也可以从 Eclipse 进行构建。

但是,我在 Eclipse 中时常遇到主 android 应用程序项目的构建错误,提示“项目配置不是最新的 pom.xml。运行 Maven->更新项目或使用快速修复。” .当我这样做时,它似乎弄乱了应用程序的 project.properties 文件中从应用程序到库项目的相对路径。具体来说,库项目的相对路径从正确的路径更改为反射(reflect)项目在 Eclipse 工作区中的相对位置的路径。

示例:磁盘布局如下所示:

/库
--/我的库
/应用
--/我的应用

因此,从 my-app 到 my-lib 的正确相对路径是 ../../libs/my-lib。

但是,在我的 Eclipse 工作区中,my-app 和 my-lib 是 sibling ,当我执行 Maven-Update 项目时,它会更新 project.properties,使 my-lib 的相对路径(即“android.library. reference.1=") 变为 "../my-lib"。

因此,在 Eclipse 中,主应用程序中对库项目中符号的所有引用都出现编译错误。如果我随后转到 Eclipse 中的 Android 属性对话框,在列出库项目的底部部分,我的库项目旁边有一个红色的 X。如果我删除它并重新添加它,从而更正 project.properties 中的相对路径,那么一切都会再次好起来。

这有点麻烦。知道如何解决吗?注意:虽然我描述的相对路径的更改是正确的,但这只是一种理论,这与项目在 Eclipse 工作区中的相对位置有关——这可能是巧合。

最佳答案

这是一个已知问题,目前正在处理:

https://github.com/rgladwell/m2e-android/issues/76

关于Android 应用程序对 android 库项目的引用在 Maven-> 更新项目后中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10851655/

相关文章:

android - 错误:null value in entry: mainDexListProguardOutputFile=null

java - 如何刷新android GridView

Spring Boot 2.2.1 在 Build 时创建两个 jar

maven-2 - Maven Eclipse 单元测试配置

java - 使用 JAXB 生成的类在 Eclipse 中构建错误

android - 服务停止申请最近清除

android - ibm watson 和 google cloud speech to text api 是否有可能合并?

maven 无法在生成的源中添加文件以进行编译阶段

java - 如何在 JBehave 中操作 Before-/AfterScenarios 的顺序?

java - 用于查找工作区 Artifact 的 Maven settings.xml 配置