Ho scaricato un progetto libreria di Android 3a parte, il progetto non contiene file di classe Java, ma un file di jar sotto libs/
cartella:Impossibile trovare la classe dal vaso del progetto libreria quando Maven costruire il mio progetto
libs/
- CustomService.jar
res/
-…
pom.xml
Questo progetto di libreria può essere progettato per l'archivio apklib. L'ho creato & Ho installato questo archivio nel mio repository locale..
Poi nel mio progetto Android, ho aggiunto la dipendenza di questo apklib progetto:
<dependency>
<groupId>com.custom.service</groupId>
<artifactId>custom-service</artifactId>
<type>apklib</type>
<version>1.0</version>
</dependency>
Nel mio codice Java, ho usato la classe dalla CustomService.jar, ma quando ho Maven costruire il mio progetto ho sempre ottenere il seguente errore:
[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
l'errore precedente si lamenta che non riesce a trovare la classe UserService
dalla biblioteca un archivio pklib. Poi, ho controllato il contenuto del file jar libreria comando:
jar tf CustomService.jar
vedo che la classe è in CustomService.jar del progetto di libreria
com/custom/service/user/UserService.class
Questa classe è in il barattolo, perché ottengo l'errore allora ????
Dubito che qualcuno possa rispondere alla tua domanda a questo punto, perché quasi tutti usano gradle + .aar invece di maven + .apklib ora. – Dmide
apklib è obsoleto. Prova a generare il file aar invece http://simpligility.github.io/android-maven-plugin/aar.html e quindi aggiungi la dipendenza a aar –
Potresti condividere i tuoi log di Maven sull'installazione di Custom-service.jar a il tuo repository locale? Mi sembra che le proprietà di dipendenza possano essere sbagliate. – saver