You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Maven Java项目中使用SQLcl遇依赖问题,求正确配置方法

正确配置SQLcl到Maven Java项目的步骤

我之前也碰到过类似的坑,SQLcl的依赖因为不在Maven中央仓库,手动配置确实容易出问题,给你梳理下完整的解决流程:

1. 手动安装SQLcl相关JAR到本地Maven仓库

SQLcl的核心JAR(dbtools-common.jar、dbtools-http.jar、dbtools-sqlcl.jar)和你已经下载的ucp.jar都需要手动安装到本地Maven仓库,步骤如下:

  • 打开终端,进入你解压的SQLcl的sqlcl/lib目录(就是包含那几个dbtools开头JAR的目录)
  • 依次执行以下Maven命令,把每个JAR安装到本地仓库:
    # 安装dbtools-common.jar
    mvn install:install-file -Dfile=./dbtools-common.jar -DgroupId=com.oracle.sqlcl -DartifactId=dbtools-common -Dversion=19.4.0 -Dpackaging=jar
    
    # 安装dbtools-http.jar
    mvn install:install-file -Dfile=./dbtools-http.jar -DgroupId=com.oracle.sqlcl -DartifactId=dbtools-http -Dversion=19.4.0 -Dpackaging=jar
    
    # 安装dbtools-sqlcl.jar
    mvn install:install-file -Dfile=./dbtools-sqlcl.jar -DgroupId=com.oracle.sqlcl -DartifactId=dbtools-sqlcl -Dversion=19.4.0 -Dpackaging=jar
    
    # 安装ucp.jar(注意groupId对应Oracle官方最新分组)
    mvn install:install-file -Dfile=./ucp.jar -DgroupId=com.oracle.database.jdbc -DartifactId=ucp -Dversion=19.4.0 -Dpackaging=jar
    
    这里的版本号19.4.0要和你下载的SQLcl版本保持一致,避免版本冲突。

2. 在你的项目POM.xml中添加依赖

打开你自己的Maven项目的pom.xml,添加以下依赖配置:

<dependencies>
    <!-- SQLcl核心依赖 -->
    <dependency>
        <groupId>com.oracle.sqlcl</groupId>
        <artifactId>dbtools-common</artifactId>
        <version>19.4.0</version>
    </dependency>
    <dependency>
        <groupId>com.oracle.sqlcl</groupId>
        <artifactId>dbtools-http</artifactId>
        <version>19.4.0</version>
    </dependency>
    <dependency>
        <groupId>com.oracle.sqlcl</groupId>
        <artifactId>dbtools-sqlcl</artifactId>
        <version>19.4.0</version>
    </dependency>
    <!-- UCP连接池依赖 -->
    <dependency>
        <groupId>com.oracle.database.jdbc</groupId>
        <artifactId>ucp</artifactId>
        <version>19.4.0</version>
    </dependency>
</dependencies>

3. 修复IntelliJ无法导入ScriptParser的问题

做完上面两步后,还需要让IntelliJ正确识别依赖:

  • 点击IntelliJ右侧Maven面板的Reload All Maven Projects按钮(就是那个刷新图标),让IDE重新加载依赖。
  • 如果还是找不到ScriptParser类,先确认这个类确实在dbtools-sqlcl.jar里(可以用解压工具打开JAR查看),然后检查本地Maven仓库中对应的JAR是否已经安装成功(路径一般是~/.m2/repository/com/oracle/sqlcl/dbtools-sqlcl/19.4.0/)。
  • 最后可以尝试清理IntelliJ缓存:点击File -> Invalidate Caches...,选择"Invalidate and Restart",重启IDE后应该就能正常识别了。

补充说明

你之前直接在SQLcl的lib目录执行mvn validate或mvn clean install是没用的,因为SQLcl本身的lib目录并不是一个标准的Maven项目,这些命令无法自动把JAR安装到你的本地仓库,必须手动执行install:install-file命令才行。

内容的提问来源于stack exchange,提问作者W0lfw00ds

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 00:12:34