programing

메이븐 의존관계로서의 Oracle JDBC ojdbc6 Jar

muds 2023. 3. 17. 22:06
반응형

메이븐 의존관계로서의 Oracle JDBC ojdbc6 Jar

Maven에게 ojdbc6.jar 파일을 프로젝트의 전쟁 파일에 끼워 넣을 수 없을 것 같습니다.Hibernate 툴에 대한 의존관계를 직접 지정할 때 POM 파일 내에서 동작합니다.그러나 프로젝트의 전쟁 파일에 번들되지 않기 때문에 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. 마지막으로 폼파일에 의존성을 넣었습니다.

    <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]
    

왜 이게 안 되지?나는 비싼 컴퓨터 부품을 방 저편으로 던질 준비가 되어 있다.이건 너무 많은 시간을 낭비했다.(감사합니다, Oracle.또 얼마를 지불했습니까?)

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>

그래일의 예:

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

향후 이 투고를 읽는 사람은, 항아리가 있는 디렉토리에 CD를 넣을 필요는 없습니다.필요한 것은 다음과 같습니다.

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이 제 원래 질문에 대한 코멘트 섹션에서 정답을 제공했습니다.

어떤 이유로든 물리적인 ojdbc6.jar 파일의 풀 패스에 "mvn install"을 포인트 하는 것은 나에게 효과가 없었습니다.(또는 명령어를 실행할 때 항상 flub up을 반복했지만 오류는 발생하지 않았습니다.)

ojdb6.jar를 보관하고 있는 디렉토리에 cd-in하고 거기에서 명령어를 실행하면 첫 번째 동작합니다.

Raghuram이 이 질문에 대답하고 싶다면 대신 그의 대답을 받아들이겠습니다.여러분 감사합니다.

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

스프링 어플리케이션의 ORACLE JAR 문제를 해결하려면

메이븐 의존관계로서의 Oracle JDBC ojdbc6 Jar

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

먼저 Oracle 사이트에서 특정 jar를 다운로드해야 합니다(ojdbc.jar 버전 11.2.0.3).

C:\filefolder에 다운로드하면

cmd 프롬프트에서 해당 디렉토리로 이동하여 다음 명령을 제공합니다.종속성을 설치합니다.그런 다음 프로젝트를 구축할 수 있습니다.

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

실행 후

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

.m2 저장소 폴더(/com/syslog/ojdbc6/11.2.0.3)에서 ojdbc6.jar가 존재하는지 확인합니다.그렇지 않은 경우 $M2_HOME/conf/settings.xml에서 maven 저장소 설정을 확인합니다.

아래의 설정이 유효했습니다.자세한 내용은 이 링크를 참조하십시오.

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

Oracle은 라이선스가 부여된 제품이기 때문에 maven 종속성을 직접 추가하는 데 문제가 있습니다.임의의 버전의 ojdbc.jar를 추가하려면 다음 2단계를 수행합니다.

  1. 다음 명령을 실행하여 ojdbc.jar를 로컬 maven 저장소에 설치합니다.
/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

이렇게 하면 로컬 저장소에 종속성이 추가됩니다.

  1. 이제 pom 파일에 종속성을 추가합니다.
<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc7</artifactId>
    <version>12.1.0.1.0</version>
</dependency>

버전 태그를 붙이지 않고 의존관계를 사용해 보았지만, 문제없이 동작했습니다.

<dependency>
    <groupId>com.oracle.ojdbc</groupId>
    <artifactId>ojdbc8</artifactId>
</dependency>

다음 명령을 따르면 작동했습니다.

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

설치 후 M2_repo에 jar가 올바르게 설치되어 있는지 확인합니다.

pom.xml에 다음 의존관계 추가

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

C드라이브->user->PcName->find .m2로 이동하여 다운로드한ojdbc jar 파일을 붙여넣으면 서버가 자동으로 이 파일을 선택합니다.

일반: https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc6/11.2.0.4

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.4</version>
</dependency>

Ubuntu 문제의 경우

ubuntu .m2\ 폴더는 찾기 어렵고 jar를 저장소에 넣기도 어렵습니다.따라서 명령 프롬프트에서 스텝1의 명령어를 입력하면 로컬저장소에 ojdbc7 jar가 생성됩니다.

순서 1: /home/user/Documents open terminal 등의 임의의 장소에 접속하여 이 명령어를 입력합니다.

명령어

mvn 설치: install-file=path_of_downloaded_jar/ojdbc7.jar-DgroupId=com.oracle-DartifactId=ojdbc7 -Dversion=12.1.0.0 -Dpackaging=jar -X

스텝 2: 이 의존관계를 pom.xml에 넣습니다.
의존

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

스텝 3: 메이븐을 갱신합니다.

주의:

필요에 따라 ojdbc6/7/8 등의 ojdbc 버전을 변경할 수 있습니다.

Oracle JDBC 드라이버 및 기타 지원 Jar는 Central Maven에서 사용할 수 있습니다.공식적으로 지원되는 Oracle JDBC 버전11.2.0.4, 12.2.0.2, 18.3.0.0, 19.3.0.0, 19.6.0 및 19.7.0.0의 사용을 권장합니다.Central Maven Repository에서 사용할 수 있습니다.자세한 내용은 Maven Central Guide를 참조하십시오.

최신 버전을 사용하는 것이 좋습니다.JDK 호환성에 대해서는 FAQ를 참조하십시오.

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

반응형