Web & Server/Spring & Spring Boot

Gradle 프로젝트에 로컬 jar 파일 추가하기 - How to add local jar file to Gradle project

Simplify - Jonghun 2020. 2. 24. 16:53

Java 프로그램을 구현하다 보면 어떠한 방식으로든 각종 라이브러리를 추가해서 사용하게 됩니다. 예를 들어 Stirng 처리와 관련된 편리한 라이브러리들이라든지, 통신 관련 모듈 등등 추가해서 사용해야 하는 것들은 무궁무진하게 많습니다. 프로젝트 규모가 조금 크거나, 프로젝트 내에 여러 sub-project 가 존재하는 경우, 프로젝트들의 일관성이나 관리를 위해서 공통 라이브러리를 만들어서 구현하는 경우도 많고, 이러한 경우에 로컬 저장소를 이용하기도 합니다. 

 

그런데 저장소 까지는 필요없고, 그저 로컬 jar 파일 하나를 추가하는 경우도 있습니다. 이클립스에서 Java Build Path 에 추가해 주는 것과 비슷한 형태인데, 조금 더 전형적인 방법으로 추가해 보고자 합니다. 여기서는 필자가 잘 익숙하지 않은 Gradle 프로젝트를 예로 들고 Maven 프로젝트는 추후 추가해서 적도록 하겠습니다. 

 

중앙 저장소 이용

일반적인 경우 이와 같은 형태로 구성하게 됩니다. 

repositories {
    mavenCentral()
}

dependencies {
    compile("org.projectlombok:lombok:1.16.8")
}

위에서 repositories 부분에 선언한 mavenCentrl 부분이 바로 중앙 저장소를 의미하고 일반적으로 사용하는 repository 를 의미합니다. 

 

프로젝트 내의 jar 파일 추가하기, libs 폴더 추가하기

dependencies {
    compile files('libs/lombok-1.16.8.jar')
}

위와 같이 파일의 위치를 명시해 주면 그 파일을 컴파일할 때에 폴함시킬 수 있습니다. 가장 손쉽게 추가하는 방법입니다. 그런데 만약 libs 폴더의 모든 jar 파일을 추가한다면 다음과 같이 구성합니다.

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

 

 

가장 기본적인 부분인데도 막상 추가하려고 보면 문법이 가물가물한 경우가 많아 위와 같이 정리해 봅니다. 물론 로컬(프로젝트에서 자체 구성) repository 를 구축해 두고 이를 통째로 repositories 에 추가하는 방법도 있습니다. 

repositories {
  maven { url "http://maven.springframework.org/release" }
  maven { url "http://maven.restlet.org" }
  mavenCentral()
}

 

 

 

출처 & 참고자료 

https://jsonobject.tistory.com/222