java - 将jdbc添加到maven项目中

标签 java maven tomcat alfresco ojdbc

我正在使用 alfresco-amp-archetype 在 Alfresco Content Services 6.1.1 中创建自定义文档库操作。我想从外部 Oracle 数据库访问数据。

我正在使用来自:https://mvnrepository.com/artifact/com.oracle.jdbc/ojdbc8/12.2.0.1 的 ojdbc 库

由于maven无法自行下载依赖,我将jar放在我的项目中并添加到pom中(我也将其添加到tomcat/lib目录中):

<dependency>
     <groupId>com.oracle.jdbc</groupId>
     <artifactId>ojdbc</artifactId>
     <version>8</version>
     <scope>system</scope>
     <systemPath>${project.basedir}/src/main/resources/ojdbc8-12.2.0.1.jar</systemPath>
</dependency>

当我调用操作时出现“java.sql.SQLException:没有找到适合 jdbc:oracle:thin 的驱动程序”

我应该如何将驱动程序添加到我的项目中以使其正常工作?

最佳答案

您正在使用的系统范围更意味着包括 java 本身提供的东西,这是一个已弃用的功能。

由于许可限制,该 jar 不在通常的 maven 存储库中。因此它需要位于具有私有(private)访问权限的地方。

如果您没有运行像 sonatype nexusjfrog artifactory 这样的 Maven 存储库代理,我建议您将 jar 复制到您自己的 Maven 存储库中:maven deploy into local repository (可能最好用一个小脚本来重复或分享)。

不要将它存储在 src/main/resources - 那里的所有内容都会添加到您创建的 Artifact 中。选择另一个文件夹(如 src 旁边的“依赖项”),然后一旦复制到本地 Maven 存储库中,就使用该 jar 作为正常依赖项(删除范围和系统路径)。默认范围是编译,因此 jar 将包含在您的类路径中,因此驱动程序应该可用(我假设您创建了某种 war 文件?)。

因此也无需手动将其直接添加到 tomcat 中 - 而是通过 war 文件将其引入。

关于java - 将jdbc添加到maven项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59111368/

相关文章:

tomcat - 如何使用 auth DIGEST 控制 Tomcat 中的 session 过期

java - Solr 索引时间 32 位与 64 位

java - 如何在 servlet 之间共享 java AsyncContext?

java - 如何测试数字为零的java

java - Google App Engine Maven 插件 : Unable to start devserver

maven - 有没有办法对原型(prototype)生成的项目进行后处理?

java - Quartz Scheduler 和 Karaf 的使用依赖关系未启动 OSGi 包

java - PDFBox - 仅复制页面资源而不是复制文档的所有资源

java - java中以逗号分割字符串

java - 移动 Sprite 的方向