Jak dodać lokalne.zależność pliku jar do zbudowania.akta gradle ' a?
Więc próbowałem dodać mój lokalny .zależność pliku jar od mojej kompilacji.plik gradle:
apply plugin: 'java'
sourceSets {
main {
java {
srcDir 'src/model'
}
}
}
dependencies {
runtime files('libs/mnist-tools.jar', 'libs/gson-2.2.4.jar')
runtime fileTree(dir: 'libs', include: '*.jar')
}
I widać, że dodałem .pliki jar do folderu referencedLibraries tutaj: https://github.com/WalnutiQ/wAlnut/tree/version-2.3.1/referencedLibraries
Ale problem polega na tym, że po uruchomieniu polecenia: gradle build w linii poleceń pojawia się następujący błąd:
error: package com.google.gson does not exist
import com.google.gson.Gson;
Oto mój cały repo: https://github.com/WalnutiQ/wAlnut/tree/version-2.3.1
14 answers
Jeśli naprawdę musisz to wziąć .jar z lokalnego katalogu,
Dodaj obok swojego modułu gradle (Nie pliku app gradle):
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile name: 'gson-2.2.4'
}
Jednakże, będąc standardem .jar w repozytorium maven, może spróbujesz tego?
repositories {
mavenCentral()
}
dependencies {
compile 'com.google.code.gson:gson:2.2.4'
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-03 16:45:08
Zgodnie z dokumentacją , Użyj ścieżki względnej dla lokalnej zależności jar w następujący sposób:
dependencies {
compile files('libs/something_local.jar')
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-20 04:54:40
Możesz również zrobić to, co obejmowałoby wszystkie słoiki w lokalnym repozytorium. W ten sposób nie musiałbyś go określać za każdym razem.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-27 19:43:25
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-05 19:06:11
Przyjęta odpowiedź jest dobra, jednak potrzebowałbym różnych konfiguracji bibliotek w moim wieloprojektowym Gradle build, aby korzystać z tej samej biblioteki Java innej firmy.
Dodanie ' $rootProject.projectDir' do 'dir' elementu ścieżki w moim ' allprojects ' zamknięcie oznaczało, że każdy pod-projekt odnosił się do tego samego katalogu ' libs' oraz Nie Wersja lokalna do tego podprojektu:
//gradle.build snippet
allprojects {
...
repositories {
//All sub-projects will now refer to the same 'libs' directory
flatDir {
dirs "$rootProject.projectDir/libs"
}
mavenCentral()
}
...
}
EDIT by Quizzie: changed "${rootProject.projectDir} " to " $rootProject.projectDir "(działa w najnowszej wersji Gradle).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-27 07:12:58
Możesz spróbować ponownie użyć lokalnego repozytorium Maven dla Gradle:
-
Zainstaluj jar w lokalnym repozytorium Maven:
mvn install:install-file -Dfile=utility.jar -DgroupId=com.company -DartifactId=utility -Dversion=0.0.1 -Dpackaging=jar
-
Sprawdź, czy masz zainstalowany jar w swoim
~/.m2/
lokalnym repozytorium Maven -
Włącz lokalne repozytorium Maven w pliku
build.gradle
:repositories { mavenCentral() mavenLocal() } dependencies { compile ("com.company:utility:0.0.1") }
- Teraz powinieneś mieć włączony jar do kompilacji w swoim projekcie
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-02 22:55:25
Prostym sposobem na to jest
compile fileTree(include: ['*.jar'], dir: 'libs')
Skompiluje wszystkie .pliki jar w katalogu libs w aplikacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-18 09:10:47
Nie mogłem uzyskać powyższej sugestii na https://stackoverflow.com/a/20956456/1019307 do pracy. Ale to mi pomogło. Dla pliku secondstring-20030401.jar
, który przechowuję w katalogu libs/
w katalogu głównym projektu:
repositories {
mavenCentral()
// Not everything is available in a Maven/Gradle repository. Use a local 'libs/' directory for these.
flatDir {
dirs 'libs'
}
}
...
compile name: 'secondstring-20030401'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:34:48
Najlepszym sposobem, aby to zrobić, jest dodanie tego do swojej kompilacji.gradle plik i naciśnij opcję synchronizacji
dependency{
compile files('path.jar')
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-12 08:04:43
Na to pytanie udzielono już szczegółowych odpowiedzi. Nadal chcę dodać coś, co wydaje mi się bardzo zaskakujące:
Zadanie "gradle dependencies" nie wyświetla żadnych zależności od Pliku. Nawet jeśli możesz tak myśleć, ponieważ zostały one określone w bloku" zależności " po wszystkim..
Więc nie polegaj na wyniku tego, aby sprawdzić, czy odwołane lokalne pliki lib działają poprawnie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-30 16:07:37
Rozwiązaniem, które zadziałało dla mnie jest użycie fileTree w build.plik gradle. Zatrzymaj .jar, który należy dodać jako zależność w folderze libs. Podaj poniższy kod w bloku dependenices w build."gradle": {]}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-24 05:21:14
Pobierz plik - > struktura projektu -> Moduły -> aplikacja -> Zakładka zależności -> kliknij na +(przycisk) - > Wybierz plik zależności - > Wybierz plik jar w folderze lib
Ten krok automatycznie doda Twoją zależność do gralde
Bardzo Proste
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-17 07:19:03
Inny sposób:
Dodaj bibliotekę w widoku drzewa. Kliknij prawym przyciskiem myszy na ten. Wybierz menu "Dodaj jako bibliotekę". Pojawi się okno dialogowe, które pozwala wybrać moduł. OK i gotowe.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-16 11:13:13
Bądź ostrożny, jeśli używasz ciągłej integracji, musisz dodać swoje biblioteki w tej samej ścieżce na swoim serwerze kompilacji.
Z tego powodu wolałbym dodać jar do lokalnego repozytorium i oczywiście zrobić to samo na serwerze build.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-17 11:17:54