将jdbc添加到maven项目中
Adding ojdbc to maven project
我正在使用 alfresco-amp-archetype 在 Alfresco Content Services 6.1.1 中创建自定义文档库操作。我想从外部 Oracle 数据库访问数据。
我使用的 ojdbc 库来自:https://mvnrepository.com/artifact/com.oracle.jdbc/ojdbc8/12.2.0.1
由于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: No suitable driver found for jdbc:oracle:thin"
我应该如何将驱动程序添加到我的项目中才能正常工作?
您正在使用的系统范围更多是为了包括 java 本身提供的内容,并且是一个已弃用的功能。
由于许可限制,该 jar 不在通常的 maven 存储库中。所以它需要在有私人访问权限的地方。
如果你不是运行像sonatype nexus或jfrog artifactory这样的maven存储库代理我建议你复制将 jar 放入您自己的 Maven 存储库中:maven deploy into local repository
(可能最好用一个小脚本来重复或分享)。
不要将它存储在 src/main/resources
- 那里的所有内容都会添加到您创建的工件中。选择另一个文件夹(如 src 旁边的 "dependencies"),然后将其复制到本地 Maven 存储库后,使用该 jar 作为正常依赖项(删除范围和 systemPath)。默认范围是编译,因此 jar 将包含在您的类路径中,因此驱动程序应该可用(我假设您创建了某种 war 文件?)。
因此也无需手动将其直接添加到 tomcat - 但通过 war 文件将其引入。
我正在使用 alfresco-amp-archetype 在 Alfresco Content Services 6.1.1 中创建自定义文档库操作。我想从外部 Oracle 数据库访问数据。
我使用的 ojdbc 库来自:https://mvnrepository.com/artifact/com.oracle.jdbc/ojdbc8/12.2.0.1
由于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: No suitable driver found for jdbc:oracle:thin"
我应该如何将驱动程序添加到我的项目中才能正常工作?
您正在使用的系统范围更多是为了包括 java 本身提供的内容,并且是一个已弃用的功能。
由于许可限制,该 jar 不在通常的 maven 存储库中。所以它需要在有私人访问权限的地方。
如果你不是运行像sonatype nexus或jfrog artifactory这样的maven存储库代理我建议你复制将 jar 放入您自己的 Maven 存储库中:maven deploy into local repository (可能最好用一个小脚本来重复或分享)。
不要将它存储在 src/main/resources
- 那里的所有内容都会添加到您创建的工件中。选择另一个文件夹(如 src 旁边的 "dependencies"),然后将其复制到本地 Maven 存储库后,使用该 jar 作为正常依赖项(删除范围和 systemPath)。默认范围是编译,因此 jar 将包含在您的类路径中,因此驱动程序应该可用(我假设您创建了某种 war 文件?)。
因此也无需手动将其直接添加到 tomcat - 但通过 war 文件将其引入。