ich eine 3rd-Party-Android-Bibliothek-Projekt heruntergeladen haben, enthält das Projekt keine Java-Klasse-Datei, sondern eine jar Datei unter libs/
Ordner:nicht die Klasse aus Bibliothek Projekt jar finden können, wenn Maven mein Projekt bauen
libs/
- CustomService.jar
res/
-…
pom.xml
Dieses Bibliotheksprojekt kann unter apklib archiviert werden. Ich baute es & Ich habe dieses Archiv in meinem lokalen Maven Repository installiert.
Dann in meinem eigenen Android-Projekt habe ich die Abhängigkeit dieses apklib Projekt hinzugefügt:
<dependency>
<groupId>com.custom.service</groupId>
<artifactId>custom-service</artifactId>
<type>apklib</type>
<version>1.0</version>
</dependency>
In meinem Java-Code, habe ich die Klasse aus dem CustomService.jar, verwenden aber wenn ich maven mein Projekt baue ich folgende Fehlermeldung ständig erhalten:
[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
der obige Fehler beklagt, dass es nicht die UserService
Klasse aus der Bibliothek einer finden pklib Archiv. Dann überprüfte ich den Inhalt der Bibliothek JAR-Datei mit dem Befehl:
jar tf CustomService.jar
Ich sehe, dass die Klasse in ist CustomService.jar des Bibliotheksprojekt
com/custom/service/user/UserService.class
Diese Klasse ist in das Glas, Warum bekomme ich dann den Fehler ??
Ich bezweifle, dass jemand Ihre Frage zu diesem Zeitpunkt beantworten kann, weil fast jeder mit grandle + .aar statt maven + .apklib jetzt. – Dmide
apklib ist veraltet. Versuchen Sie stattdessen, aar-Datei zu generieren http://simpligility.github.io/android-maven-plugin/aar.html und dann Abhängigkeit hinzufügen aar –
Könnten Sie bitte Ihre Maven-Protokolle über die Installation von Custom-Service.jar zu teilen Ihr lokales Repository? Es scheint mir, dass Abhängigkeitseigenschaften falsch sein können. – saver