设置 Datomic 类路径函数以供 Windows 中的事务处理程序使用
Setting Datomic classpath functions for use by transactor in Windows
我正在尝试设置一个类路径函数以供我的自定义事务处理函数使用,如下所述:
https://docs.datomic.com/on-prem/database-functions.html#classpath-functions
我已将 DATOMIC_EXT_CLASSPATH
环境变量设置为我的 .jar 文件的路径,并且
添加 :requires
到交易函数。不过,当我尝试 运行 函数时,我得到了
FileNotFoundException Could not locate some_ns/some_file.clj on classpath
错误。
我正在使用 Windows 8,我应该做一些额外的步骤吗?我可以在 Datomic 事务处理程序的日志中看到事务处理程序正确使用 jar 文件吗?
从最新版本 (0.9.5786) 开始,存在一个错误,其中 DATOMIC_EXT_CLASSPATH
未在 windows 脚本中考虑。作为解决方法,我通过将 DATOMIC_EXT_CLASSPATH
附加到 CP_LIST
:
修改了 Datomic 分发中的 bin\classpath.cmd
文件
@echo off
set CP_LIST=
for %%i in (.\lib\*.jar) do call bin\cpbuild.cmd %%i
for %%i in (.\*transactor*.jar) do call bin\cpbuild.cmd %%i
set CP_LIST=bin;resources;%CP_LIST%;%DATOMIC_EXT_CLASSPATH%
通过此修复一切正常
我正在尝试设置一个类路径函数以供我的自定义事务处理函数使用,如下所述: https://docs.datomic.com/on-prem/database-functions.html#classpath-functions
我已将 DATOMIC_EXT_CLASSPATH
环境变量设置为我的 .jar 文件的路径,并且
添加 :requires
到交易函数。不过,当我尝试 运行 函数时,我得到了
FileNotFoundException Could not locate some_ns/some_file.clj on classpath
错误。
我正在使用 Windows 8,我应该做一些额外的步骤吗?我可以在 Datomic 事务处理程序的日志中看到事务处理程序正确使用 jar 文件吗?
从最新版本 (0.9.5786) 开始,存在一个错误,其中 DATOMIC_EXT_CLASSPATH
未在 windows 脚本中考虑。作为解决方法,我通过将 DATOMIC_EXT_CLASSPATH
附加到 CP_LIST
:
bin\classpath.cmd
文件
@echo off
set CP_LIST=
for %%i in (.\lib\*.jar) do call bin\cpbuild.cmd %%i
for %%i in (.\*transactor*.jar) do call bin\cpbuild.cmd %%i
set CP_LIST=bin;resources;%CP_LIST%;%DATOMIC_EXT_CLASSPATH%
通过此修复一切正常