我已下载第三方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中,为什么我得到错误然后????
答案 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