当maven构建我的项目

时间:2015-08-14 13:54:13

标签: android maven jar android-library apklib

我已下载第三方Android库项目,该项目不包含任何java类文件,但在libs/文件夹下不包含 jar 文件:

libs/
    - CustomService.jar
res/
   -…
pom.xml

此库项目可以构建为 apklib 存档。我建造了它&我已将此存档安装到我的本地maven存储库

然后在我自己的Android项目中,我添加了 apklib 项目的依赖项:

<dependency>
   <groupId>com.custom.service</groupId>
   <artifactId>custom-service</artifactId>
   <type>apklib</type>
   <version>1.0</version>
 </dependency>

在我的Java代码中,我使用了 CustomService.jar 中的类,但是当我构建项目时,我经常遇到以下错误:

[ERROR] package com.custom.service.user does not exist
[ERROR] location: class com.my.app.MyClass
[ERROR] /Users/Johon/MyApp/src/main/java/com/my/app/MyClass.java:[34,17] cannot find symbol
[ERROR] symbol:   variable UserService

上述错误导致它无法从库apklib存档中找到UserService类。然后,我通过命令检查了库jar文件的内容:

jar tf CustomService.jar

我看到该课程位于图书馆项目的 CustomService.jar

com/custom/service/user/UserService.class

这个类在jar中,为什么我得到错误然后????

2 个答案:

答案 0 :(得分:0)

尝试添加范围:

<dependency>
   <groupId>com.custom.service</groupId>
   <artifactId>custom-service</artifactId>
   <type>apklib</type>
   <version>1.0</version>
   <scope>compile</scope>
 </dependency>

答案 1 :(得分:0)

确保您的项目属于Array类型或任何其他类型兼容apk库。默认apklib类型将忽略 jar依赖项。

apklib