메이븐 의존관계로서의 Oracle JDBC ojdbc6 Jar
Maven에게 ojdbc6.jar 파일을 프로젝트의 전쟁 파일에 끼워 넣을 수 없을 것 같습니다.Hibernate 툴에 대한 의존관계를 직접 지정할 때 POM 파일 내에서 동작합니다.그러나 프로젝트의 전쟁 파일에 번들되지 않기 때문에 Tomcat에서는 프로젝트가 실행되지 않습니다.
저는 인터넷에서 찾을 수 있는 모든 솔루션을 시도해 보았습니다.여기서 이 질문에 대해 지정된 솔루션도 있습니다.
Maven 저장소에서 Oracle JDBC 드라이버 찾기
가장 최근에 다음과 같은 작업을 수행했습니다.
jar 파일을 내 컴퓨터에 다운로드
다음 명령을 실행하여 로컬 저장소에 jar를 설치합니다.
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=ojdbc6.jar -DgeneratePom=true
(그 명령어의 모든 종류의 변형도 시도해 보았습니다.)
마지막으로 폼파일에 의존성을 넣었습니다.
<dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.3</version> </dependency>
클린 빌드를 실행했지만 실패:
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단계를 수행합니다.
- 다음 명령을 실행하여 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
이렇게 하면 로컬 저장소에 종속성이 추가됩니다.
- 이제 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
'programing' 카테고리의 다른 글
중첩된 데이터 구조(예: JSON 구문 분석)에서 단일 값을 추출하려면 어떻게 해야 합니까? (0) | 2023.03.22 |
---|---|
Oracle에서 FROM 절 없이 선택 (0) | 2023.03.22 |
SEO에서는 React.js를 어떻게 사용합니까? (0) | 2023.03.17 |
React에서의 브라우저 검출JS (0) | 2023.03.17 |
JavaScript에서 json-object 키를 가져옵니다. (0) | 2023.03.17 |