요 며칠 쓰는 내용들은 죄다 한 3~4년 전 쯤 플젝하면서 다 설정해둔건데, 역시 사람은 기록해두지 않으면 까먹는건지 뭔지, 기억은 나는데 당최 이게 뭐드라? 하는게 많아 정리하기 시작했다.

 

아무튼, tibero driver와 같은 jar 파일 또는 커스텀 jar 파일들은 당연히 maven 센트럴 repository에 없기 때문에 maven build 또는 maven package를 하면 결과물 jar 파일 내에 패키징되지 않는다. 이를 위한 설정을 밑에 적어두니 나와 같이 혼란스러운 분들에게 도움이 되었으면 좋겠다.

 

tibero6-jdbc.jar 가 없는 상황.

1. pom.xml 설정

pom.xml 에서 다음과 같이 설정해준다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<properties>
    <java.version>1.8</java.version>
    <webapp.lib>${basedir}/src/main/webapp/WEB-INF/lib</webapp.lib>
</properties>
    
<dependencies>
<!--  Tibero JDBC Project Import Library -->
    <dependency>
        <groupId>com.tmax.tibero</groupId>
        <artifactId>tibero-jdbc</artifactId>
        <version>6</version>
        <scope>system</scope>
        <systemPath>${webapp.lib}/tibero6-jdbc.jar</systemPath>
    </dependency>
</dependencies>
cs

 

<properties> 태그 하위에 <webapp.lib>의 경로를 설정해준다.

이후 webapp.lib은 하위의 외부 라이브러리들의 path를 잡아주는데 활용이 된다.

만약, src/main~ 의 경로가 아닌 다른 경로라면 당연히 수정해줘야한다.

tibero-jdbc 드라이버를 지정해주는데 있어 저런 식으로 해주면 된다. 기존에는 groupId나 artifactId들을 그냥 whatever로 설정했던것 같은데 이번에는 약간 공들여서 설정해보았다.

 

*** 가장 중요한 부분 ***

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <includeSystemScope>true</includeSystemScope>
                <image>
                    <builder>paketobuildpacks/builder-jammy-base:latest</builder>
                </image>
            </configuration>
        </plugin>
    </plugins>
</build>
cs

 

pom.xml의 하단부 configuration 하위에 <includeSystemScope>true</includeSystemScope> 옵션을 꼭 넣어주어야 한다. 이 옵션을 넣어주지 않으면 다른 설정을 다 해줘도 maven package 할 때 죄다 빠져버리게 된다.

 

pom.xml 에서 이렇게 설정해주면 끝난다.

 

2. /src/main/webapp/WEB-INF/lib 하위에 라이브러리 추가

그냥 뭐 어려운 거 없이 folder를 만들어서 위의 디렉토리 구조에 맞게 라이브러리를 넣어주면 된다.

 

 

3. maven package

그냥 돌리면 끝난다.

tibero-jdbc-6.jar 있음ㅋ

 

그럼 jar package 파일에 잘 들어와있는것을 확인할 수 있다. ㅋㅋㅋ

블로그 이미지

김생선

세상의 모든것을 어장관리

,