android - 使用 Maven 从 github 导入 apklib

标签 android facebook maven github repository

我正在尝试在我的 Maven Android 应用程序中使用 Facebook Android SDK。为此,我使用了自定义 Maven 存储库 ( https://github.com/avianey/facebook-api-android-maven )。我注意到 Android 支持包已经过时,并创建了我自己的 github 存储库(它是完全相同的项目,除了 pom)。这工作了一段时间。但是,当我的团队成员想要导入 Maven 依赖项时,它抛出了一些异常。

Error when importing module '~apklib-com.github.bertdecock_facebook-android-ahoy-api_3.0.0': Cannot find file C:\Users\Bert\.m2\repository\com\github\bertdecock\facebook-android-ahoy-api\3.0.0\facebook-android-ahoy-api-3.0.0.apklib
17:19:50 Error when importing module '~apklib-com.github.bertdecock_facebook-android-ahoy-api_3.0.0': Cannot find file C:\Users\Bert\.m2\repository\com\github\bertdecock\facebook-android-ahoy-api\3.0.0\facebook-android-ahoy-api-3.0.0.apklib
17:19:50 Error when importing module '~apklib-com.github.bertdecock_facebook-android-ahoy-api_3.0.0': Cannot find src directory in C:/Users/Bert/Development/IntelliJ Projects/SDProject/AndroidApp/gen-external-apklibs/com.github.bertdecock_facebook-android-ahoy-api_3.0.0

我从我的本地存储库中删除了 apklib,并注意到它不会再导入。我不知道为什么它第一次起作用。

这是我在我的pom中用来导入原始项目的:

<repositories>  
  ...  
  <repository>  
    <id>The mavenized Facebook Android API</id>  
    <url>http://avianey.github.com/facebook-api-android-maven/</url>  
  </repository>  
</repositories>

...

<dependencies>
  ...
  <dependency>
    <groupId>com.github.avianey</groupId>
    <artifactId>facebook-android-api</artifactId>
    <version>3.0.0</version>
    <type>apklib</type>
  </dependency>
</dependencies>

这就是我导入自己的自定义项目 ( https://github.com/bertdecock/facebook-android-ahoy-api ) 的方式:

<repository>
    <id>The mavenized Facebook Android API</id>
    <url>https://github.com/bertdecock/facebook-android-ahoy-api/</url>
</repository>

<dependency>
    <groupId>com.github.bertdecock</groupId>
    <artifactId>facebook-android-ahoy-api</artifactId>
    <version>3.0.0</version>
    <type>apklib</type>
</dependency>

当我在我的本地存储库中恢复旧的 apklib 时,它工作得很好。删除它,它就会停止工作。

但是,当我尝试更新我的依赖项时,maven 确实找到了 facebook 项目 pom 并将其放入我的本地存储库中。

任何关于为什么会发生这种情况(以及如何解决它)的建议将不胜感激!

最佳答案

尝试从本地 Maven 存储库中删除所有 _maven.repositories 文件。 他们掌握着有关 Artifact 来源的信息。

Maven 尝试从旧位置(保存在 _maven.repositories 中)更新您的 jar,但失败了。这里的假设是,不同远程存储库上的相同产物可能不同。

要删除所有 _maven.repositories,您可以使用此命令:

find ~/.m2/ -name _maven.repositories | xargs rm 

关于android - 使用 Maven 从 github 导入 apklib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15391342/

相关文章:

Android - 堆叠时获取通知(通知监听器)

android - cordova-plugin-facebook4 在 Android 上发布图片错误

spring - 为什么 Spring Data MongoDB 1.5.2 会因 NoSuchMethodError 失败?

android - 我无法显示来自 firebase 数据库的实际格式数据

Android 兼容性上下文操作栏

php - Facebook PHP SDK - 将用户数据存储到 MYSql 数据库中

java - Maven 如何从存储库解析 SNAPSHOT 版本

maven - 如何构建要安装在远程系统上的 Maven 项目的 RPM

android - 将 Firebase 与 Kotlin 协程一起使用

c# - facebook c# sdk 页面选项卡应用程序