티스토리 뷰

예전부터 ojdbc는 maven repository에 있지 않고 3rd party library로 다운받아서 직접 참조해서 사용하곤 했다. 그러다가 ojdbc8 버전을 사용하려고 했는데 maven repo에 똭!

 

ojdbc maven repository

이제 더이상 ojdbc를 3rd party에 올리지 않고 이렇게 central repo에서 다운받아서 쓸수 있겠구나 했다. 그래서 내게 맞는 버전을 찾아서 pom.xml에 추가를 했다. 그리고 was를 기동했더니..

[18:44:22.348][INFO ][org.apache.catalina.core.StandardEngine.log:line173] - Starting Servlet engine: [Apache Tomcat/9.0.41]
[18:44:22.900][WARN ][org.apache.tomcat.util.scan.StandardJarScanner.log:line175] - Failed to scan [file:/C:/Users/User/.m2/repository/com/oracle/database/security/oraclepki/19.3.0.0/osdt_core.jar] from classloader hierarchy
java.io.IOException: java.lang.reflect.InvocationTargetException
	at org.apache.tomcat.util.compat.Jre9Compat.jarFileNewInstance(Jre9Compat.java:209)
	at org.apache.tomcat.util.scan.JarFileUrlJar.<init>(JarFileUrlJar.java:65)
	at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:49)

뭐가 잘 안된단다.. Oracle 데이터베이스의 JDBC Driver의 경우 라이선스 문제가 있어서 dependency를 추가한다고 해서 JDBC가 설치되지 않는다고 한다. 

 

이것에 대한 해결책은 다시 원래의 방법을 사용해야 했다. 원래의 방법이란.. 다음과 같다. 

 

ojdbc8 library를 다운받는다. maven repo에서 받을 수 있다. 

ojdbc8 다운로드

그런다음 이 파일을

- 특정 공간에 위치시키고 classpath 설정을 해주는 방법,

- maven을 사용한다면 3rd party library를 가져오는 방법, (이 글을 참조하도록 하자.)

- 그리고 Nexus에 올리고 사용하는 방법이 있다.  (이 글을 참조하도록 하자.)

필자는 예전처럼 Nexus에 ojdbc를 등록하고 이것을 사용하였다. 위 링크를 따라가면 자세한 설명이 있지만 간략하게 설명하자면 다음과 같다. 

Nexus ojdbc8 등록

다운받은 ojdbc library를 Nexus에 업로드를 해준다. 

 

Nexus ojdbc8 등록

정상적으로 등록이 잘 되었다. 

 

pom.xml 에서는 여기서 등록한대로 dependency를 추가해준다. 

<dependency>
  <groupId>com.oracle</groupId>
  <artifactId>ojdbc8</artifactId>
  <version>12.2.0.1</version>
</dependency>

이렇게 하고 나니 기동과정에 오류 없이 잘 동작한다. 

 

끝!

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30