我正在尝试在Anypoint Studio中编译一个项目,由于某种原因,它无法依赖一个依赖项-
<dependency>
<groupId>com.oracle.jdbc</groupId>
<artifactId>ucp</artifactId>
<version>12.1.0.2</version>
</dependency>
应该说,当我在Windows笔记本电脑上运行此程序时,我完全没有问题,罐子下载正常。在我的Macbook上运行它,出现以下错误-
Archive for required library: '/Users/matt/.m2/repository/com/oracle/jdbc/ucp/12.1.0.2/ucp-12.1.0.2.jar' in project 's-wms-hj-api' cannot be read or is not a valid ZIP file s-wms-hj-api
更新项目依赖项时收到的消息是-
[警告] com.oracle.jdbc:ucp:jar:12.1.0.2的POM无效,传递依赖项(如果有)将不可用,请启用调试日志记录以获取更多详细信息
与Mac相关吗?
答案 0 :(得分:0)
该依赖关系在公共存储库中不可用,因此必须手动将jar安装在本地Maven存储库中。该错误很可能是由于未正确安装。
警告是预期的结果,因为该方法不提供pom。
我不确定为什么您在Windows中看不到警告。也许是其他Maven版本或使用存储库管理器?
答案 1 :(得分:0)
我一直以以下方式处理Oracle(我也正在运行Mac,尽管这并不重要):
从互联网上的某个地方下载.jar
文件。按照以下说明使用Maven安装依赖项:https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
这是命令的示例,假设您下载了ucp 12.1.0.2版的jar,当前位于该目录中,并且文件名为ucp-12.1.0.2.jar
:
mvn install:install-file \
-Dfile=ucp-12.1.0.2.jar \
-DgroupId=com.oracle.jdbc \
-DartifactId=ucp \
-Dversion=12.1.0.2 \
-Dpackaging=jar
这应该安装到您的默认~/.m2/repository
中。如果需要,可以使用以下方法进行验证:
ls -al ~/.m2/repository/com/oracle/jdbc/ucp/12.1.0.2.jar
您应该在其中看到一个pom文件。
现在,当您在pom中指定它们时,Maven将准备好抓取该文件。请记住,mvn install
命令的groupId,artifactId和version参数与您要为相同字段在pom中输入的内容完全相关。