缺少 Windows 7 中报告的依赖项 POM,但 Windows 10 中未报告

问题描述

我有一个依赖于 Oracle JDBC 库的 Maven 项目,即项目 pom.xml 中的条目是

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

我在两台不同的机器上有这个项目的副本;一台运行Windows 7,一台运行Windows 10(Maven的版本相同;3.6.3和所需的依赖存在于认本地存储库中;.m2\repository\com\oracle\ojdbc7\12.1.0.2\ojdbc7-12.1 .0.2.jar)

当我在 Windows 10 机器上运行 mvn clean package 时,没有返回错误并且创建了相关的目标文件。但是,当我在 Windows 7 机器上运行 mvn clean package 时,发生错误,抱怨缺少依赖项 POM 文件; ojdbc7-12.1.0.2.pom.

我可以通过在 Windows 7 机器上手动创建这个文件解决这个问题,即

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.oracle</groupId>
  <artifactId>ojdbc7</artifactId>
  <version>12.1.0.2.0</version>
</project>

我不明白为什么我需要这样做!!????

解决方法

ojbdb7 不是官方 Maven 存储库的一部分。

您需要手动将其添加到公司存储库或本地存储库中。

我假设您的本地存储库之一拥有它,而另一个没有。

,

尝试使用最新的 Oracle JDBC 驱动程序 21.1.0.0。 如果您有 JDK8,那么您可以使用 12.2.0.1

中的 ojdbc8.jar
<groupId>com.oracle.database.jdbc</groupId>
  <artifactId>ojdbc8</artifactId>
  <version>12.2.0.1</version>