Java 패키지를 Github에 간단히 릴리즈 해 배포 후 다른 프로젝트에서 쉽게 사용할 수 있다.
나의 경우는 프로젝트마다 Message Queue를 사용하는데 큐를 보내고, 받는 페이로드를 공통으로 사용하고 있다.
보안이 중요하지 않은 코드는 릴리즈 해 사용하는것도 편리한 방법이 될 것 같다.
인텔리제이, Gradle 기준으로 정리하겠다.
일단 배포할 모듈을 생성한다.
예제를 찾다보면 maven plugin을 적용하면 된다고 하는데 Gradle 7버전에는 maven plugin이 지원되지 않는듯하다.
Gradle 7버전 이상을 사용한다면 모듈을 생성 후 build.gradle에 maven-pulish 플러그인을 적용해준다.
plugins {
id 'java'
}
// maven-publish 추가 시작
apply plugin: 'maven-publish'
publishing {
publications {
maven(MavenPublication) {
groupId 'org.devbeekei'
artifactId 'exam-module'
version '0.1'
from components.java
}
}
}
// maven-publish 추가 끝
group 'org.devbeekei'
version '1.0'
repositories {
mavenCentral()
}
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
}
test {
useJUnitPlatform()
}
설정이 끝났으면 배포할 코드를 짜면된다.
package com.devbeekei.module;
public class HelloModule {
public void print() {
System.out.println("=== Hello World~~ ===");
}
}
해당 패키지 경로가 다른 프로젝트에서 import된다.
즉, 다른 프로젝트에서 com.devbeekei.module.HelloModule로 import된다.
배포할 모듈을 구현했으면 Github Repository를 만들고 소스를 올려준다.
group: 'com.<Github계정>', name: '<Repository명>', version: '태그'로 배포되므로 Repository명을 잘 정하자
Github Repository에 소스를 올린 후 오른쪽 사이드바를 보면 Releases를 생성할 수 있는 링크를 클릭한다.
릴리즈 타이틀과 내용을 작성하고 릴리즈를 게시한다.
https://jitpack.io/에 GitHub 계정으로 접속해 릴리즈한 버전을 빌드하게 되면 자동적으로 빌드 아티팩트를 제공한다.
초록색? 연두색? 문서 아이콘이 나타나면 빌드가 정상적으로 된 것이다.
Get it을 눌러보면 해당 모듈을 사용할때 설정법까지 알려준다.
그대로 프로젝트에 적용해보면 라이브러리가 추가된 것을 확인할 수 있다.
'Java' 카테고리의 다른 글
[모던 자바] 람다란 무엇인가? (0) | 2022.02.28 |
---|---|
[모던 자바] 동작 파라미터화란 무엇인가? (2) | 2022.02.27 |
Java로 Slack 메세지 발송하기 (0) | 2021.11.23 |
컬렉션 프레임워크(Collection Framework) (0) | 2021.09.30 |
String Class (3) | 2021.09.30 |