Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

아님말고

[gradle] library 용도 프로젝트을 local repository 배포하기 본문

빌드

[gradle] library 용도 프로젝트을 local repository 배포하기

스타박씨 2023. 4. 19. 20:22

여러 프로젝트에서 의존성 추가하여 사용 가능한 라이브러리 jar을 배포하는 방법을 알아보자.

[테스트 환경]

java : 17

spring boot : 2.7.10

gradle : 7.6.1

라이브러리용으로 gradle 프로젝트를 하나 만들어서 아래 내용되로 수정한다.

 

1.build.gradle 수정하기

plugins {
	id 'java'
	id 'org.springframework.boot' version '2.7.10'
	id 'io.spring.dependency-management' version '1.0.15.RELEASE'
	id 'maven-publish'
}

group = 'com.skt'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

publishing {
    publications {
        mavenJava(MavenPublication) {
            groupId = 'com.skt.demo'
            artifactId = 'api-core'
            version = '0.0.1-SNAPSHOT'
            from components.java

			artifact bootJar
			
            versionMapping {
                usage('java-api') {
                    fromResolutionOf('runtimeClasspath')
                }
                usage('java-runtime') {
                    fromResolutionResult()
                }
            }
        }
    }
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-web'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
	useJUnitPlatform()
}

 

2. 배포실행하기

윈도우 환경이라면 도스창을 열고 workspace / {프로젝트명} 으로 이동하여 아래 명령을 실행한다.

gradlew publishToMavenLocal

build successful 성공문구가 나오면 자신의 maven local repository 로 이동하여 생성된 파일을 확인한다.

C:\Users\{사용자}\.m2\repository\com\skt\demo\api-core\0.0.1-SNAPSHOT

4개의 파일이 있을 것이다.

api-core-0.0.1-SNAPSHOT.jar
api-core-0.0.1-SNAPSHOT.module
api-core-0.0.1-SNAPSHOT.pom
api-core-0.0.1-SNAPSHOT-plain.jar

 

3. 타 프로젝트에 의존성 추가하여 사용한다.

// build.gradle

repositories {
    mavenLocal()
}

dependencies {
    implementation '{groupId}:{artifactId}:{version}'
    // 예시, implementation 'com.skt.demo.api-core:0.0.1-SNAPSHOT'
}

 

'빌드' 카테고리의 다른 글

[Gradle] window 콘솔에서 build 하기  (0) 2023.03.15
Comments