1. 我如何找到包含此工件的存储库(如果有的话)?
正如DavidS所评论的那样,我在回答时引用的那行已经不再出现在我所链接的当前(在我现在写作的时候)OTN许可协议中。这个答案只适用于工件的旧版本,比如10.2.0.3.0等等。
所有Oracle数据库JDBC驱动程序都在OTN许可协议下分发。
如果您阅读OTN许可协议,您会发现以下许可条款:
你不可以:
...
-除非你的应用程序附有该等程序,否则不得分发该等程序;
...
所以这就是为什么你不能在任何公共Maven资源库中找到驱动程序的jar,因为它将单独发布,如果发生这种情况,它将违反许可证。
添加依赖项:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.3.0</version>
</dependency>
(或任何更高版本)使Maven下载ojdbc14-10.2.0.3.0。仅限Pom,在Pom中你可以读到:
...
<licenses>
<license>
<name>Oracle Technology Network Development and Distribution License Terms</name>
<url>http://www.oracle.com/technology/software/htdocs/distlic.html</url>
</license>
</licenses>
...
通知您OTN许可证。
2. 如何添加它以便Maven使用它?
为了使上面的依赖能够工作,我同意victor hugo的建议,他建议你手动将jar安装到你的本地Maven存储库(.m2目录),通过运行:
mvn install:install-file -Dfile={Path_to_your_ojdbc.jar} -DgroupId=com.oracle
-DartifactId=ojdbc -Dversion=10.2.0.3.0 -Dpackaging=jar
但我想补充的是,上面的许可条款不仅限制了您无法找到JDBC jar的地方,而且还限制了您安装它的地方!
事实上,您的本地Maven存储库必须是私有的,而不是共享的,因为如果它是共享的,它将是一种单独分发jar的分发,即使是向您的局域网中的一小群人分发,这代表了OTN许可协议的违反。
此外,我认为您应该避免在您的公司存储库管理器(如Artifactory或Nexus)中作为单个工件安装JDBC jar,因为如果安装了它,它仍然会单独分发,即使只分发给您组织中的人员,这代表了OTN许可协议的违反。