Java 版本
openjdk 18.0.2-ea 2022-07-19
OpenJDK Runtime Environment (build 18.0.2-ea+9-Ubuntu-222.04)
OpenJDK 64-Bit Server VM (build 18.0.2-ea+9-Ubuntu-222.04, mixed mode, sharing)
但是在我的文本编辑器中启动 nREPL 时,它会说
Starting nREPL server...
/usr/lib/jvm/java-11-openjdk-amd64/bin/java ...
依赖项
:dependencies [[org.clojure/clojure "1.11.1"]
[com.github.seancorfield/next.jdbc "1.3.834"]
[org.postgresql/postgresql "42.5.0"]
[com.layerware/hugsql "0.5.3"]]
代码
(def db
{:classname "org.postgresql.Driver"
:subprotocol "postgresql"
:subname "reporting"
:user "admin"
:password "admin"})
(defn add-user-transaction [users]
(jdbc/with-transaction [t-conn db]
(if-not (find-user t-conn {:id (:id users)})
(add-user! t-conn users))))
使用那个配置,所有东西都正常工作,但只有在评估
(add-user-transaction {:id "cheryl"
:pass "Cheryl"})
错误出现。
这个问题已在一个相关的问题中提出 Clojure: 执行错误(SQLException)在java.sql.DriverManager/getConnection (DriverManager.java:702),并且我已经回答了,但是那里的唯一答案是使用 :deps
或 deps.edn
(据我所知,这是一个 Maven 仓库),那么 leiningen 呢?或者是我遗漏了关于 leiningen 和 Maven 的某些信息?
即使重启了我的电脑、文本编辑器和 nREPL,也没有任何改变。