Programing

Oracle JDBC ojdbc6 Jar를 Maven 종속성으로 사용

crosscheck 2020. 8. 30. 07:42
반응형

Oracle JDBC ojdbc6 Jar를 Maven 종속성으로 사용


Maven이 ojdbc6.jar 파일을 내 프로젝트의 war 파일에 번들로 넣을 수없는 것 같습니다. Hibernate 도구에 대한 종속성을 직접 지정할 때 POM 파일 내에서 작동합니다. 그러나 프로젝트의 war 파일과 함께 번들로 제공되지 않으므로 내 프로젝트가 Tomcat에서 실행되지 않습니다.

여기에이 질문에 대해 지정된 솔루션을 포함하여 인터넷에서 찾을 수있는 모든 솔루션을 시도했습니다.

Maven 저장소에서 Oracle JDBC 드라이버 찾기

가장 최근에는 다음을 수행했습니다.

  1. 내 컴퓨터에 jar 파일 다운로드

  2. 다음 명령을 실행하여 jar를 로컬 저장소에 설치합니다.

    mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=ojdbc6.jar -DgeneratePom=true
    

    (저도 그 명령의 모든 종류의 변형을 시도했습니다.)

  3. 마지막으로 종속성을 내 pom 파일에 넣습니다.

    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0.3</version>
    </dependency>
    
  4. 깨끗한 빌드를 실행했지만 실패합니다.

    mvn -U clean package
    
    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building jazztwo 0.0.1
    [INFO] ------------------------------------------------------------------------
    Downloading: http://repo1.maven.org/maven2/com/oracle/ojdbc6/11.2.0.3/ojdbc6-11.2.0.3.jar
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 0.700s
    [INFO] Finished at: Tue Mar 27 15:06:14 PDT 2012
    [INFO] Final Memory: 3M/81M
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal on project jazztwo: Could not resolve dependencies for project edu.berkeley:jazztwo:war:0.0.1: Could not find artifact com.oracle:ojdbc6:jar:11.2.0.3 in central (http://repo1.maven.org/maven2) -> [Help 1]
    

왜 이것이 작동하지 않습니까? 고가의 컴퓨터 부품을 방안에 던질 준비가되었습니다. 이것은 너무 많은 시간을 낭비했습니다. (감사합니다, 오라클. 다시 얼마를 지불 했습니까?)

내가 Mac을 사용하기 때문일까요?


로컬 저장소에 설치하는 대신 프로젝트에 새 Maven 저장소 (가급적이면 자체 아티 팩토리 사용)를 추가하는 것이 좋습니다.

Maven 구문 :

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.3</version>
</dependency>
... 
<repositories>
    <repository>
      <id>codelds</id>
      <url>https://code.lds.org/nexus/content/groups/main-repo</url>
    </repository>
  </repositories>

Grails 예 :

mavenRepo "https://code.lds.org/nexus/content/groups/main-repo"
build 'com.oracle:ojdbc6:11.2.0.3'

앞으로이 게시물을 읽는 모든 사람을 위해 jar가있는 디렉토리로 이동하지 않아도됩니다. 수행해야 할 작업은 다음과 같습니다.

maven 명령을 실행할 수있는 프로젝트 폴더로 이동합니다 (이 폴더에서 ls -ltr을 수행하면 pom.xml이 표시됩니다).

이 작업을 수행 -

mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=<Path where the jar is, example downloads>/ojdbc6.jar -DgeneratePom=true

이 작업이 완료되면 다음과 같이 pom.xml에 종속성을 추가 할 수 있습니다.

    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0.3</version>
    </dependency>

내 원래 질문에 대한 의견 섹션에서 Raghuram이 정답을 제공했습니다.

For whatever reason, pointing "mvn install" to a full path of the physical ojdbc6.jar file didn't work for me. (Or I consistently repeatedly flubbed it up when running the command, but no errors were issued.)

cd-ing into the directory where I keep ojdb6.jar and running the command from there worked the first time.

If Raghuram would like to answer this question, I'll accept his answer instead. Thanks everyone!


mvn install:install-file 
-Dfile=C:\Users\xxxx\Downloads\lib\ojdbc6.jar 
-DgroupId=com.oracle
-DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar

to resolve the ORACLE JAR issue with the Spring Application,

Oracle JDBC ojdbc6 Jar as a Maven Dependency

    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0</version>
    </dependency>`

First you need to download the particular jar from Oracle site (ojdbc.jar version 11.2.0.3)

if you download it to C:\filefolder

go to that directory in cmd prompt and provide the below command.It will install the dependency.Then you can build your project.

mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dpackaging=jar -Dversion=11.2.0.4.0 -Dfile=ojdbc6.jar -DgeneratePom=true

After executing

mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=ojdbc6.jar -DgeneratePom=true

check your .m2 repository folder (/com/oracle/ojdbc6/11.2.0.3) to see if ojdbc6.jar exists. If not check your maven repository settings under $M2_HOME/conf/settings.xml


Below config worked for me. Refer this link for more details.

<dependency>
 <groupId>com.oracle.jdbc</groupId>
 <artifactId>ojdbc7</artifactId>
 <version>12.1.0.2</version>
</dependency>

I followed below command it worked:

mvn install:install-file -Dfile=E:\JAVA\Spring\ojdbc14-10.2.0.4.0.jar\ojdbc14-10.2.0.4.0.jar -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar

After installation check that jar is installed correctly on your M2_repo.


Since Oracle is the licensed product, there are issue in adding maven dependency directly. To add any version of the ojdbc.jar, below 2 steps could do.

  1. Run the below command to install ojdbc.jar into local maven repository.
/opt/apache-maven/bin/mvn install:install-file
    -Dfile=<path-to-file>/ojdbc7.jar
    -DgroupId=com.oracle
    -DartifactId=ojdbc7
    -Dversion=12.1.0.1.0
    -Dpackaging=jar

This will add the dependency into local repository.

  1. Now, add the dependency in the pom file
<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc7</artifactId>
    <version>12.1.0.1.0</version>
</dependency>


Add Following dependency in pom.xml

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>oracle</artifactId>
    <version>10.2.0.2.0</version>
</dependency>

참고URL : https://stackoverflow.com/questions/9898499/oracle-jdbc-ojdbc6-jar-as-a-maven-dependency

반응형