Maven中的ojdbc jar问题

时间:2018-11-02 12:59:07

标签: java maven spring-boot ojdbc

我已经用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>

有人可以帮我吗?

3 个答案:

答案 0 :(得分:6)

由于Oracle许可,未将Oracle JDBC drvier(ojdbc6.jarojdbc7.jarojdbc8.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)

请从OTN下载Oracle JDBC驱动程序,或者您可以从Oracle Maven存储库(maven.oracle.com)下载这些驱动程序。有关从Oracle Maven下载它的说明,请参考blog