mvn 설치를 대체하는 Gradle
mvn에 2 가지 프로젝트 빌드가 있습니다. Gradle로 교체하려고합니다.
프로젝트 1은 SDK이고 프로젝트 2는 SDK를 사용합니다 (예)
maven 당시에는 전체 프로젝트를 로컬 저장소에 추가하는 mvn install을 사용하여 아티팩트를 작성합니다.
나는 그런 gradle에서 일하는 것을 좋아합니다. 나는 프로젝트 1 build.gradle이 그것을 gradle 로컬 저장소로 게시 한 다음 예제 프로젝트가 그것을 사용해야한다는 것을 좋아합니다.
maven에서 우리는 .m2 폴더에 프로젝트 아티팩트를 추가하는 mvn install을 수행하지만 프로젝트 아티팩트를 로컬 저장소에 추가 할 수 있도록 gradle에서 수행하는 방법.
내가 그렇게 할 수있는 방법?
sdk/build.gradle
:
apply plugin: "maven"
group = "foo"
version = "1.0"
example/build.gradle
:
repositories {
mavenLocal()
}
dependencies {
compile "foo:sdk:1.0"
}
$sdk> gradle install
$example> gradle build
당신은 찾고 있습니다 :
gradle publishToMavenLocal
사용 가능 :
apply plugin: 'maven-publish'
참조 : https://docs.gradle.org/current/userguide/publishing_maven.html
다중 프로젝트 빌드에 대한 Gradle의 문서를 확인하십시오 .
다음은 몇 가지 추가 종속성이있는 예입니다. gradle install
루트 폴더에 전화 하면 모든 것이 로컬 리포지토리에 저장됩니다.
폴더 구조 :
root
+--> build.gradle
+--> settings.gradle
+--> sdk
| +--> build.gradle
+--> example
+--> build.gradle
root / build.gradle :
allprojects {
apply plugin: 'java'
apply plugin: 'maven'
group = 'myGroup'
version = '0.1-SNAPSHOT'
}
root / settings.gradle :
include 'sdk'
include 'example'
root / sdk / build.gradle :
dependencies {
// just an example external dep.
compile group:'commons-lang', name:'commons-lang', version:'2.3'
}
root / example / build.gradle :
dependencies {
compile project(':sdk')
compile group:'log4j', name:'log4j', version:'1.2.16'
}
자신의 라이브러리를 로컬 저장소에 공개해야합니다. 다음과 같은 방법으로이를 수행 할 수 있습니다.
maven-publish
플러그인 추가 :plugins { // your other plugins come here... id 'maven-publish' }
빌드 섹션에 공개 섹션을 추가하십시오.
publishing { publications { myCoolLibrary(MavenPublication) { from components.java } } }
운영
gradle build publishToMavenLocal
자세한 내용 은 설명서를 참조하십시오 .
참고 URL : https://stackoverflow.com/questions/6122252/gradle-alternate-to-mvn-install
'IT story' 카테고리의 다른 글
이벤트 처리를 위해 WPF에서 리소스 사전 뒤에 코드를 설정할 수 있습니까? (0) | 2020.06.15 |
---|---|
다른 파일에서 변수에 액세스 할 수 있습니까? (0) | 2020.06.15 |
XML 인스턴스 문서에서 XSD 스키마를 생성하는 도구가 있습니까? (0) | 2020.06.15 |
@using 선언 대신 Razor 페이지에 네임 스페이스를 추가하는 방법은 무엇입니까? (0) | 2020.06.15 |
공공 서비스로 Google OTP를 사용할 수 있습니까? (0) | 2020.06.15 |