Spring Boot 프로젝트에 외부 라이브러리(jar) 추가하기

스프링 프로젝트에서 custom한 jar파일을 메뉴얼로 추가하는 방법에 대해서 알아보자 .

Spring Boot 프로젝트에서 외부 jar 파일을 추가하는데, 로컬 레포지토리에(.m2폴더 하위) 기존의 라이브러리가 캐쉬되어있어서 새로운 버전이 적용이 되지 않았다.

※ m2 Repository는 무엇? maven은 3가지 타입의 레포지토리를 제공한다.

  • local: 개발자 컴퓨터의 로컬레포지토리
  • central: maven comunity에서 제공하는 레포지토리
  • remote: 사내 전사적으로 구성하기 위해서 외부에 설치한 레포지토리

이중에 .m2 는 로컬 레포지토리의 폴더 이름이다. 경로는 /Users/<user_name>/.m2/

방법1) scope변경

<dependency>
    <groupId>lgdacom</groupId>
    <artifactId>XPayClient</artifactId>
    <version>1.1.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/repo/lgdacom/XPayClient/1.1.0/XPayClient-1.1.0.jar</systemPath>
</dependency>

다음과 같이 scope와 SystemPath를 직접 설정했다. 하지만 문제는 jenkins를 통한 빌드를 할때, system scope로 빌드할때 해당 jar파일이 누락된다. 결국 적용할 수 없었다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

방법 2) mvn install 커맨드 명령어로 직접 추가하는 방법

# 다음과 같은 형식으로 지정
$ mvn install:install-file -Dfile={projectRootPath} -DgroupId={groupId} -DgartifactId={artifactId} -Dversion={version} -Dpackaing=jar

# 실제 적용 코드 
$ mvn install:install-file -Dfile=repo/lgdacom/XPayClient/1.1.0/XPayClient-1.1.0.jar -DgroupId=lgdacom -DartifactId=XPayClient -Dversion=1.1.0 -Dpackaging=jar

이렇게 적용하게 되면, 다음과 같이 m2 폴더 하위로 install 된다.

[INFO] Installing /Users/geonguk/workspace/xxxx/repo/lgdacom/XPayClient/1.1.0/XPayClient-1.1.0.jar to /Users/geonguk/.m2/repository/lgdacom/XPayClient/1.1.0/XPayClient-1.1.0.jar
 

[출처] https://umanking.github.io/maven-add-jar-manually

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
78 [Java 일반] 07-06 함수형 프로그래밍 졸리운_곰 2023.09.04 6
77 [Java 일반] [JAVA] JAVA의 람다식 사용법 및 다양한 작성 예제 file 졸리운_곰 2023.09.04 39
76 [Java 언어] [Java] 람다식(Lambda Expressions) 사용법 및 예제 졸리운_곰 2023.09.04 22
75 [Java][jupyter notebook][!java] 주피터 노트북에서 자바 실행 환경구축. java on jupyter notebook file 졸리운_곰 2023.08.24 24
74 [java maven] jar 파일 의존성 한번에 다운로드 maven 사용 졸리운_곰 2023.08.18 33
73 [Java] 효율적인 JUnit 사용 방법과 유용한 팁 file 졸리운_곰 2022.10.20 32
72 [Java] Java Console Input and Output Examples 졸리운_곰 2021.11.07 22
71 [Java] \ 문자 빠구기 : replaceAll 사용시 특수문자 졸리운_곰 2021.07.13 37
70 이클립스에서 java 버전 변경 file 졸리운_곰 2021.04.29 33
69 JAVA) 예외처리(throw , throws) file 졸리운_곰 2021.01.24 21
68 예외처리 (throwable, exception, error, throws) file 졸리운_곰 2021.01.21 39
67 [Java] 자바 extends, implements 차이 file 졸리운_곰 2020.12.10 48
66 Maven 배포시 Local Jar 파일과 함께 하기! file 졸리운_곰 2020.10.06 16
65 How to add a local lib directory to Maven 졸리운_곰 2020.10.06 17
64 [Maven] 외부 jar 의존성 추가, war build 시 외부 jar 포함시키기 졸리운_곰 2020.10.05 239
» Spring Boot 프로젝트에 외부 라이브러리(jar) 추가하기 졸리운_곰 2020.10.05 695
62 [maven 설정] Jackson Databind » 2.6.7.1 졸리운_곰 2020.10.05 33
61 [maven 설정] MongoDB Java Driver » 3.12.6 졸리운_곰 2020.10.05 18
60 Maven 에 직접 jar 라이브러리 추가하기!!! ( 외부 repository 사용이 안될때) + scope 정리 졸리운_곰 2020.10.05 20
59 추상(abstract) 클래스가 필요한 기본적인 이유 졸리운_곰 2019.10.30 68
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED