따라서 로컬 .jar 파일 종속성을 build.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')
}
그리고 당신은 여기에서 referenceLibraries 폴더에 .jar 파일을 추가 한 것을 볼 수 있습니다 : https://github.com/WalnutiQ/wAlnut/tree/version-2.3.1/referencedLibraries
그러나 문제는 내가 명령을 실행할 때 : 명령 줄에 gradle build 다음과 같은 오류가 발생한다는 것입니다.
error: package com.google.gson does not exist
import com.google.gson.Gson;
여기 내 전체 저장소가 있습니다 : https://github.com/WalnutiQ/wAlnut/tree/version-2.3.1
답변
로컬 디렉토리에서 해당 .jar을 가져와야하는 경우
모듈 gradle 옆에 추가하십시오 (앱 gradle 파일이 아님).
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
implementation name: 'gson-2.2.4'
}
그러나 실제 maven 저장소의 표준 .jar이기 때문에 이것을 시도하지 않겠습니까?
repositories {
mavenCentral()
}
dependencies {
implementation 'com.google.code.gson:gson:2.2.4'
}
답변
documentation 에 따르면 다음과 같이 로컬 jar 종속성에 대한 상대 경로를 사용하십시오.
dependencies {
implementation files('libs/something_local.jar')
}
답변
로컬 저장소의 모든 JAR을 포함하는이 작업을 수행 할 수도 있습니다. 이렇게하면 매번 지정할 필요가 없습니다.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
답변
답변
Gradle에 대해 로컬 Maven 저장소를 재사용 할 수 있습니다.
-
jar을 로컬 Maven 저장소에 설치하십시오.
mvn install:install-file -Dfile=utility.jar -DgroupId=com.company -DartifactId=utility -Dversion=0.0.1 -Dpackaging=jar
-
jar이
~/.m2/
로컬 Maven 저장소에 설치되어 있는지 확인하십시오. -
build.gradle
파일 에서 로컬 Maven 저장소를 활성화하십시오 .repositories { mavenCentral() mavenLocal() } dependencies { implementation ("com.company:utility:0.0.1") }
- 이제 프로젝트에서 jar을 구현할 수 있어야합니다.
답변
받아 들일만한 대답은 좋지만 동일한 타사 Java 라이브러리를 사용하려면 다중 프로젝트 Gradle 빌드 내에 다양한 라이브러리 구성이 필요했을 것입니다.
내 ‘ allprojects ‘클로저 내 ‘ dir ‘경로 요소에 ‘ $ rootProject.projectDir ‘을 추가하면 각 하위 프로젝트가 동일한 ‘ libs ‘디렉토리를 참조하고 해당 하위 프로젝트의 로컬 버전이 아닌 것을 의미합니다 .
//gradle.build snippet
allprojects {
...
repositories {
//All sub-projects will now refer to the same 'libs' directory
flatDir {
dirs "$rootProject.projectDir/libs"
}
mavenCentral()
}
...
}
퀴즈 편집 : “$ {rootProject.projectDir}”을 “$ rootProject.projectDir”(최신 Gradle 버전에서 작동)로 변경했습니다.
답변
이를 수행하는 간단한 방법은
compile fileTree(include: ['*.jar'], dir: 'libs')
App의 libs 디렉토리에있는 모든 .jar 파일을 컴파일합니다.