LINUX

Linux - mavan 패킹 오류 (외부 jar파일 못찾는 이슈)

라구엘 2023. 2. 27. 00:11

-- 프로젝트 디렉토리 구조

------------------------------------------------- 외부 jar파일 추가시 2가지 방법이 나뉜다 ------------------------------------------------------

 

1. 단순 참조

 

- dependency 정의 시 scope 노드와 systemPath 노드를 사용

프로젝트에 포함된 jar 파일을 단순 참조용으로 사용할 수 있다.

 

- groupId, artifactId, version은 임의로 정의 가능

${project.basedir}는 프로젝트의 ROOT 패스이다.

 

-- pom에 작성

<dependency>
    <groupId>com</groupId>
    <artifactId>orai18n</artifactId>
    <version>21.7.0.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/com/orai18n/21.7.0.0/orai18n-21.7.0.0.jar</systemPath>
</dependency>

 

 

2. 로컬 Repository 선언 후 참조

 

- 단순 참조를 할 경우 scrop의 system이기 때문에 maven 빌드 시 해당 jar 파일이 포함되지 않는다. 

- 빌드 결과물에 해당 jar 파일을 포함해야 하는 경우 로컬 repositoy를 활용한다.

 

---------- 주의--------

- 프로젝트 디렉토리 구조를 groupId, artifactId, version 순으로 디렉토리를 커스텀으로 구성해야한다

예) com/orai18n/21.7.0.0

 

- scope 노드와 systempath를 사용할 시 로컬 Repository가 아닌 

  단순 참조용으로 사용되기 때문에 주석처리나 Row를 지워야 한다.

 

 

-- pom에 작성

<dependency>
            <groupId>com</groupId>
            <artifactId>orai18n</artifactId>
            <version>21.7.0.0</version>
<!--            <scope>system</scope>-->
<!--            <systemPath>${project.basedir}/lib/com/orai18n/21.7.0.0/orai18n-21.7.0.0.jar</systemPath>-->
</dependency>

 

- 결과

정상적으로 참조된걸 확인할 수 있다.