쇼핑몰 만들기 프로젝트 - jitpack을 사용해서 github에 있는 내 프로젝트를 라이브러리로 사용해보자

yeom yaloo·2023년 2월 15일
0

쇼핑몰

목록 보기
3/19


사건의 발단

  • maven 중앙 저장소에서 등록된 라이브러리들을 사용하는 것처럼 github에 올린 내 공통 기능을 묶은 utils를 사용하고자 방법을 알아보던 도중 jitpack을 사용하면 손쉽게 가능하다고 한다.
  • spring project을 라이브러리로 사용하는 것은 별로 추천하지 않는다고 한다. (본인은 프로젝트 기능이 공통으로 사용되는 것들에만 사용할 예정)

공통 기능을 utils로 묶어서 사용하기

[라이브러리 모듈로 만들 프로젝트]

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>3.0.2</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.yalooStore</groupId>
	<artifactId>common-utils</artifactId>
	<version>0.0.9</version>
	<name>common-utils</name>
	<description>common-utils</description>
	<properties>
		<java.version>17</java.version>
		<maven.compiler.source>17</maven.compiler.source>
		<maven.compiler.target>17</maven.compiler.target>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>6.0.4</version>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
			<version>1.18.24</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.14.2</version>
		</dependency>
	</dependencies>
</project>
  • 본인은 jdk를 17버전을 사용하였기 때문에 jdk17버전 사용을 위해서 아래와 같이 두가지 작업을 진행했다.
  • 주의할 점은 spring boot starter가 아닌 spring-web을 사용해주어야 한다는 점이다.

👉 1. release해서 사용할 때 전체 소스파일을 zip형식으로 하나, tar파일을 모두 묶은 tar.gz 형식으로 하나를 깃허브에서 릴리즈 해주기 때문에 이에 맞춰서 jdk 버전을 17로 맞춰 사용했다.(jitpack은 jdk8까지만 지원하기때문에 이런 작업을 진행)

  • maven.compiler.source: 17
  • maven.compiler.target: 17

👉 2. jitpack.yml 파일을 루트 디렉토리에 생성해서 작성해주기

jdk:
  - openjdk17
before_install:
  - sdk install corretto-17.0.5
  - sdk use java corretto-17.0.5
  - sdk install maven
  - mvn -v

위의 두가지만 진행해주면 jdk8 이상 버전에서도 jitpack을 사용해서 내 프로젝트를 라이브러리 모듈로 사용할 수 있게 된다.


[라이브러리를 사용할 프로젝트]

👉 https://jitpack.io/
위의 사이트에서 내 깃허브 레포지토리 yalooStore/yalooStore-common-utils예시와 같이 작성.


<repositories>
  <repository>
  <id>jitpack.io</id>
  <url>https://jitpack.io</url>
  </repository>
</repositories>
  • 해당 레포지토리를 pom.xml에 작성해주어야 사용이 가능하다.
<dependency>
  <groupId>com.github.yalooStore</groupId>
  <artifactId>yalooStore-common-utils</artifactId>
  <version>0.0.9</version>
</dependency>
  • 사용하고자 하는 내 라이브러리 모듈 의존성 추가

정리

  • jitpack 기능으로 내가 만든 프로젝트를 라이브러릴 모듈로 사용할 수 있다.
  • 버전에 따른 release를 올려두고 이를 원하는 버전에 맞춰서 사용할 수 있게 됐다.
profile
즐겁고 괴로운 개발😎

0개의 댓글