我有一个使用 Google Calendar v3 API 的 Android 项目。
我正在使用Google API 客户端 和日历 API Java库在 Google 日历上执行查询。
我在设置 Maven 依赖项时遇到问题。我已经使用文档中的 id 将这些库添加到我的 pom.xml 中,但其中一些已经过时,所以我最终得到了这个pom.xml
我不得不放入<scope>provided</scope>
google-api-client、google-http-client-jackson 和 google-http-client-android 库,因为 maven 在尝试 dex 这些库时失败了。
Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.4.1:dex (default-dex)
现在这个 pom.xml 成功创建了 .apk 并将其安装在设备上。但是当我尝试使用提供的库对日历 API 进行查询时,应用程序失败,说它找不到某些类。
12-19 17:32:17.247: E/dalvikvm(15119): Could not find class 'com.google.api.services.calendar.model.TimePeriod', referenced from method
当我从 Eclipse 构建应用程序时(所有 .jar 文件都在 /libs 文件夹中),一切正常。
所以我想知道是否有一种正确的方法可以将这些依赖项添加到 Maven 脚本中。谷歌有很多过时的文档,其中包含无效的链接或示例。否则,我将不得不摆脱 Google 库并自己编写日历 API 查询。
任何帮助将不胜感激。
回答:
xpp3.jar 引起了这个问题,因为它有来自 javax 包的类。我不得不手动将它从所有 Google 库中排除:
<exclusion>
<artifactId>xpp3</artifactId>
<groupId>xpp3</groupId>
</exclusion>