我已经用Java 8开发了一个项目,并且当我使用Java 8开发该项目时,已经在maven中安装了ojdbc jar。现在,我正在将该项目转换为Java 7。 ojdbc.jar
中的pom.xml
依赖性问题。其显示:
缺少工件com.oracle:ojdbc7:jar:12.1.0
在oracle依赖项标签处。当我尝试为ojdbc jar运行mvn安装时,这还会引发错误。
[错误]无法在项目SlotBookingAvailability上执行目标:无法解析项目org.logicInfo.oms:SlotBookingAvailability:war:0.0的依赖项。 1-SNAPSHOT:在https://repo.maven.a中找不到com.oracle:ojdbc7:jar:12.1.0 pache.org/maven2已缓存在本地存储库中,解决方案不会生效 尝试直到中心的更新间隔过去或强制更新为止。
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.logicInfo.oms</groupId>
<artifactId>SlotBookingAvailability</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>SlotBookingAvailability</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<start-class>org.logicInfo.oms.SlotBookingAvailability.SlotBookingAvailabilityApplication</start-class>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.7</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180813</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
有人可以帮我吗?
答案 0 :(得分:6)
由于Oracle许可,未将Oracle JDBC drvier(ojdbc6.jar
,ojdbc7.jar
,ojdbc8.jar
)发布到Maven Central存储库中。如果它可以工作,则必须先在本地安装它(例如,通过运行mvn install:install-file
)或使用拥有它的Maven Central以外的存储库。
您需要从Oracle网站手动下载ojdbc7
,并同意OTN许可协议。理想情况下,您将下载ojdbc7
JAR以匹配您的Oracle数据库服务器版本(SELECT * FROM v$version
)。
答案 1 :(得分:3)
我同意卡尔·道贝克的回答
我为您提供了有关安装的更多详细信息
从oracle's website下载jar,
将ojdbc7.jar添加到本地Maven存储库中。
打开cmd窗口
运行命令:mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0 -Dpackaging=jar -Dfile=G:/Jar/ojdbc7.jar
将jar名称位置版本更改为您的
然后您将在maven本地存储库中找到该jar,例如${mavenrepository}/com/oracle/ojdbc7/${yourversion}/
whdeMacBook-Pro:Downloads wh$ mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.2 -Dpackaging=jar -Dfile=ojdbc7.jar
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< com.newSpark:SparkLearn >-----------------------
[INFO] Building SparkLearn 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-install-plugin:2.4:install-file (default-cli) @ SparkLearn ---
[INFO] Installing /Users/wh/Downloads/ojdbc7.jar to /server/mavenrepository/com/oracle/ojdbc7/12.1.0.2/ojdbc7-12.1.0.2.jar
[INFO] Installing /var/folders/fc/23q8bt313pgbrxktr9f03ms80000gn/T/mvninstall7641723653608629745.pom to /server/mavenrepository/com/oracle/ojdbc7/12.1.0.2/ojdbc7-12.1.0.2.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.564 s
[INFO] Finished at: 2018-11-04T14:33:34+08:00
[INFO] -----------------------------------
然后您可以在maven pom.xml中使用设置
答案 2 :(得分:0)